[
  {
    "path": ".github/workflows/dotnet-workflow.yml",
    "content": "name: Authorize.net DotNet CI\non:\n  push:\n  pull_request:\n  workflow_dispatch:\nenv:\n  sdk_dotnet: 'sdk-dotnet'\n  sample_code_csharp: 'sample-code-csharp'\njobs:\n    workflow-job-build:\n        defaults:\n            run:\n              shell: bash\n        runs-on: windows-2019\n        steps:\n            - name: Checkout authorizenet/sdk-dotnet\n              uses: actions/checkout@v4\n              with:\n                path: ${{env.sdk_dotnet}}\n\n            - name: Setup MSBuild\n              uses: microsoft/setup-msbuild@v2\n\n            - name: Compile the SDK\n              shell: pwsh\n              run: |\n                cd $Env:sdk_dotnet\n                (Get-Content ./AuthorizeNETtest/App.config) | ForEach-Object { $_ -replace '<add key=\"api.login.id\" value=\"API_LOGIN\" />', '<add key=\"api.login.id\" value=\"5KP3u95bQpv\" />' } | ForEach-Object { $_ -replace '<add key=\"transaction.key\" value=\"API_KEY\" />', '<add key=\"transaction.key\" value=\"346HZ32z3fP4hTG2\" />' } | ForEach-Object { $_ -replace '<add key=\"md5.hash.key\" value=\"\" />', '<add key=\"md5.hash.key\" value=\"MD5_TEST\" />' } | Set-Content ./AuthorizeNETtest/App.config\n                nuget install ./AuthorizeNETtest/packages.config -OutputDirectory packages\n                msbuild -version\n                msbuild \"./AuthorizeNET.sln\" -property:Configuration=Release -t:rebuild\n                Write-Output \"Build Successful\"\n                nuget pack AuthorizeNet.nuspec\n\n            - name: Upload SDK Nupkg\n              uses: actions/upload-artifact@v4\n              with:\n                name: sdk-nupkg\n                path: ${{env.sdk_dotnet}}/*.nupkg\n\n            - name: Run UnitTests\n              uses: josepho0918/vstest-action@main\n              with:\n                testAssembly: AuthorizeNETtest.dll\n                searchFolder: ${{env.sdk_dotnet}}/AuthorizeNETtest/bin/Release/\n                runInParallel: true\n\n    workflow-job-integration-tests:\n        defaults:\n            run:\n                shell: bash\n        strategy:\n            fail-fast: false\n            matrix:\n                operating-system: [windows-latest, windows-2019]\n                net-framework-version: [4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1]\n                exclude:\n                - operating-system: windows-2019\n                  net-framework-version: 4.8.1\n                - operating-system: windows-latest\n                  net-framework-version: 4.6.1\n        needs: workflow-job-build\n        runs-on: ${{matrix.operating-system}}\n        steps:\n            - name: Download SDK from previous job\n              uses: actions/download-artifact@v4\n              with:\n                name: sdk-nupkg\n                path: sdk-nupkg\n\n            - name: Checkout authorizenet/sample-code-csharp\n              uses: actions/checkout@v4\n              with:\n                repository: 'authorizenet/sample-code-csharp'\n                ref: 'master'\n                path: ${{env.sample_code_csharp}}\n\n            - name: Setup MSBuild\n              uses: microsoft/setup-msbuild@v2\n\n            - name: Compile the Sample Application\n              shell: pwsh\n              run: |\n                $clientSdkFolderName = (Get-ChildItem -Path sdk-nupkg -Filter \"*nupkg\" | Select-Object -First 1).BaseName\n                $clientSdkVersion = $clientSdkFolderName.Substring(13)\n                nuget Sources Add -Name \"temporary_nuget_source\" -Source ((Get-Location).Path + \"\\sdk-nupkg\")\n\n                cd $Env:sample_code_csharp\n                (Get-Content ./packages.config) | ForEach-Object { $_ -replace '.*<package\\s*id=\"AuthorizeNet\".*\\/>', \"<package id=`\"AuthorizeNet`\" version=`\"$clientSdkVersion`\" targetFramework=`\"net461`\" />\" } | Set-Content ./packages.config\n\n                nuget install ./packages.config -OutputDirectory packages -Source temporary_nuget_source -Source https://api.nuget.org/v3/index.json\n                nuget install ./SampleCodeTest/packages.config -OutputDirectory packages -Source temporary_nuget_source -Source https://api.nuget.org/v3/index.json\n\n                (Get-Content ./SampleCode.csproj) | ForEach-Object { $_ -replace \"(<HintPath>)(.)+(AuthorizeNet.dll</HintPath>)\", \"<HintPath>packages\\\\$clientSdkFolderName\\\\lib\\\\AuthorizeNet.dll</HintPath>\" } | Set-Content ./SampleCode.csproj\n\n                (Get-Content ./SampleCodeTest/SampleCodeTest.csproj) | ForEach-Object { $_ -replace \"(<HintPath>)(.)+(AuthorizeNet.dll</HintPath>)\", \"<HintPath>..\\\\packages\\\\$clientSdkFolderName\\\\lib\\\\AuthorizeNet.dll</HintPath>\" } | Set-Content ./SampleCodeTest/SampleCodeTest.csproj\n\n                (Get-Content ./SampleCode.csproj) | ForEach-Object { $_ -replace \"(<TargetFrameworkVersion>)(.)+(</TargetFrameworkVersion>)\", \"<TargetFrameworkVersion>v${{matrix.net-framework-version}}</TargetFrameworkVersion>\" } | Set-Content ./SampleCode.csproj\n\n                (Get-Content ./SampleCodeTest/SampleCodeTest.csproj) | ForEach-Object { $_ -replace \"(<TargetFrameworkVersion>)(.)+(</TargetFrameworkVersion>)\", \"<TargetFrameworkVersion>v${{matrix.net-framework-version}}</TargetFrameworkVersion>\" } | Set-Content ./SampleCodeTest/SampleCodeTest.csproj\n                \n                msbuild -version\n                msbuild \"./SampleCode.sln\" -property:Configuration=Debug -t:rebuild\n                Write-Output \"Build Successful\"\n\n            - name: Run UnitTests\n              uses: josepho0918/vstest-action@main\n              with:\n                testAssembly: SampleCodeTest.dll\n                searchFolder: ${{env.sample_code_csharp}}/SampleCodeTest/bin/Debug/\n                runInParallel: true"
  },
  {
    "path": ".gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# User-specific files\n*.suo\n*.user\n*.sln.docstates\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\nbuild/\nbld/\n[Bb]in/\n[Oo]bj/\n\n# Roslyn cache directories\n*.ide/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n#NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n*_i.c\n*_p.c\n*_i.h\n*.ilk\n*.meta\n*.obj\n*.pch\n*.pdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opensdf\n*.sdf\n*.cachefile\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding addin-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# TODO: Comment the next line if you want to checkin your web deploy settings \n# but database connection strings (with potential passwords) will be unencrypted\n*.pubxml\n*.publishproj\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/packages/*\n# except build/, which is used as an MSBuild target.\n!**/packages/build/\n# If using the old MSBuild-Integrated Package Restore, uncomment this:\n#!**/packages/repositories.config\n\n# Windows Azure Build Output\ncsx/\n*.build.csdef\n\n# Windows Store app package directory\nAppPackages/\n\n# Others\nsql/\n*.Cache\nClientBin/\n[Ss]tyle[Cc]op.*\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.pfx\n*.publishsettings\nnode_modules/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\n\n# SQL Server files\n*.mdf\n*.ldf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n\n# Microsoft Fakes\nFakesAssemblies/\n/NUnit.ConsoleRunner.3.13.0\n/.vs\n/nuget.exe\n"
  },
  {
    "path": ".gitmodules",
    "content": "[submodule \"sample-code-csharp\"]\n\tpath = sample-code-csharp\n\turl = https://github.com/Authorizenet/sample-code-csharp.git\n"
  },
  {
    "path": ".travis.yml",
    "content": "language:\n    csharp\n\ndist: trusty\n\ninstall:\n    - sudo apt-get install nunit-console\n\nbefore_script:\n    - git submodule update --remote --recursive\n  \nscript:\n    - xbuild ./Authorize.NET/AuthorizeNET.csproj\n    - xbuild ./AuthorizeNETtest/AuthorizeNETtest.csproj\n#   make mono happy by copying the config file with project name\n    - cp AuthorizeNETtest/App.config AuthorizeNETtest/AuthorizeNETtest.config\n    - nunit-console ./AuthorizeNETtest/AuthorizeNETtest.csproj -run=AuthorizeNet.Api.Controllers.MockTest -exclude Integration,NotWorkingOnMono\n\n    - cp ./Authorize.NET/bin/Debug/AuthorizeNet.dll ./sample-code-csharp/\n    - xbuild ./sample-code-csharp/SampleCode.csproj\n    - xbuild ./sample-code-csharp/SampleCodeTest/SampleCodeTest.csproj \n    - nunit-console ./sample-code-csharp/SampleCodeTest/SampleCodeTest.csproj -run=SampleCodeTest\n"
  },
  {
    "path": "Authorize.NET/Api/Contracts/V1/AnetApiSchema.generated.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\n// \n// This source code was auto-generated by xsd, Version=4.6.1055.0.\n// \nnamespace AuthorizeNet.Api.Contracts.V1 {\n    using System.Xml.Serialization;\n    \n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class decryptPaymentDataRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public opaqueDataType opaqueData;\n        \n        /// <remarks/>\n        public string callId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class opaqueDataType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string dataDescriptor;\n        \n        /// <remarks/>\n        public string dataValue;\n        \n        /// <remarks/>\n        public string dataKey;\n        \n        /// <remarks/>\n        public System.DateTime expirationTimeStamp;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool expirationTimeStampSpecified;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class processorType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public int id;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"cardType\")]\n        public string[] cardTypes;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(auDeleteType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(auUpdateType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class auDetailsType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public long customerProfileID;\n        \n        /// <remarks/>\n        public long customerPaymentProfileID;\n        \n        /// <remarks/>\n        public string firstName;\n        \n        /// <remarks/>\n        public string lastName;\n        \n        /// <remarks/>\n        public string updateTimeUTC;\n        \n        /// <remarks/>\n        public string auReasonCode;\n        \n        /// <remarks/>\n        public string reasonDescription;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class auDeleteType : auDetailsType {\n        \n        /// <remarks/>\n        public creditCardMaskedType creditCard;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class creditCardMaskedType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string cardNumber;\n        \n        /// <remarks/>\n        public string expirationDate;\n        \n        /// <remarks/>\n        public string cardType;\n        \n        /// <remarks/>\n        public cardArt cardArt;\n        \n        /// <remarks/>\n        public string issuerNumber;\n        \n        /// <remarks/>\n        public bool isPaymentToken;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool isPaymentTokenSpecified;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class cardArt : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string cardBrand;\n        \n        /// <remarks/>\n        public string cardImageHeight;\n        \n        /// <remarks/>\n        public string cardImageUrl;\n        \n        /// <remarks/>\n        public string cardImageWidth;\n        \n        /// <remarks/>\n        public string cardType;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class auUpdateType : auDetailsType {\n        \n        /// <remarks/>\n        public creditCardMaskedType newCreditCard;\n        \n        /// <remarks/>\n        public creditCardMaskedType oldCreditCard;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class auResponseType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string auReasonCode;\n        \n        /// <remarks/>\n        public long profileCount;\n        \n        /// <remarks/>\n        public string reasonDescription;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerPaymentProfileListItemType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public bool defaultPaymentProfile;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool defaultPaymentProfileSpecified;\n        \n        /// <remarks/>\n        public int customerPaymentProfileId;\n        \n        /// <remarks/>\n        public int customerProfileId;\n        \n        /// <remarks/>\n        public customerAddressType billTo;\n        \n        /// <remarks/>\n        public paymentMaskedType payment;\n        \n        /// <remarks/>\n        public string originalNetworkTransId;\n        \n        /// <remarks/>\n        public decimal originalAuthAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool originalAuthAmountSpecified;\n        \n        /// <remarks/>\n        public bool excludeFromAccountUpdater;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool excludeFromAccountUpdaterSpecified;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerAddressExType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerAddressType : nameAndAddressType {\n        \n        /// <remarks/>\n        public string phoneNumber;\n        \n        /// <remarks/>\n        public string faxNumber;\n        \n        /// <remarks/>\n        public string email;\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerAddressType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerAddressExType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class nameAndAddressType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string firstName;\n        \n        /// <remarks/>\n        public string lastName;\n        \n        /// <remarks/>\n        public string company;\n        \n        /// <remarks/>\n        public string address;\n        \n        /// <remarks/>\n        public string city;\n        \n        /// <remarks/>\n        public string state;\n        \n        /// <remarks/>\n        public string zip;\n        \n        /// <remarks/>\n        public string country;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerAddressExType : customerAddressType {\n        \n        /// <remarks/>\n        public string customerAddressId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class paymentMaskedType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"bankAccount\", typeof(bankAccountMaskedType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"creditCard\", typeof(creditCardMaskedType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"tokenInformation\", typeof(tokenMaskedType))]\n        public object Item;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class bankAccountMaskedType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public bankAccountTypeEnum accountType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool accountTypeSpecified;\n        \n        /// <remarks/>\n        public string routingNumber;\n        \n        /// <remarks/>\n        public string accountNumber;\n        \n        /// <remarks/>\n        public string nameOnAccount;\n        \n        /// <remarks/>\n        public echeckTypeEnum echeckType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool echeckTypeSpecified;\n        \n        /// <remarks/>\n        public string bankName;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum bankAccountTypeEnum {\n        \n        /// <remarks/>\n        checking,\n        \n        /// <remarks/>\n        savings,\n        \n        /// <remarks/>\n        businessChecking,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum echeckTypeEnum {\n        \n        /// <remarks/>\n        PPD,\n        \n        /// <remarks/>\n        WEB,\n        \n        /// <remarks/>\n        CCD,\n        \n        /// <remarks/>\n        TEL,\n        \n        /// <remarks/>\n        ARC,\n        \n        /// <remarks/>\n        BOC,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class tokenMaskedType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string tokenSource;\n        \n        /// <remarks/>\n        public string tokenNumber;\n        \n        /// <remarks/>\n        public string expirationDate;\n        \n        /// <remarks/>\n        public string tokenRequestorId;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class CustomerPaymentProfileSorting : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public CustomerPaymentProfileOrderFieldEnum orderBy;\n        \n        /// <remarks/>\n        public bool orderDescending;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum CustomerPaymentProfileOrderFieldEnum {\n        \n        /// <remarks/>\n        id,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerProfileSummaryType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string description;\n        \n        /// <remarks/>\n        public string merchantCustomerId;\n        \n        /// <remarks/>\n        public string email;\n        \n        /// <remarks/>\n        public System.DateTime createdDate;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class SubscriptionDetail : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public int id;\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public ARBSubscriptionStatusEnum status;\n        \n        /// <remarks/>\n        public System.DateTime createTimeStampUTC;\n        \n        /// <remarks/>\n        public string firstName;\n        \n        /// <remarks/>\n        public string lastName;\n        \n        /// <remarks/>\n        public int totalOccurrences;\n        \n        /// <remarks/>\n        public int pastOccurrences;\n        \n        /// <remarks/>\n        public paymentMethodEnum paymentMethod;\n        \n        /// <remarks/>\n        public string accountNumber;\n        \n        /// <remarks/>\n        public string invoice;\n        \n        /// <remarks/>\n        public decimal amount;\n        \n        /// <remarks/>\n        public string currencyCode;\n        \n        /// <remarks/>\n        public int customerProfileId;\n        \n        /// <remarks/>\n        public int customerPaymentProfileId;\n        \n        /// <remarks/>\n        public int customerShippingProfileId;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool customerShippingProfileIdSpecified;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum ARBSubscriptionStatusEnum {\n        \n        /// <remarks/>\n        active,\n        \n        /// <remarks/>\n        expired,\n        \n        /// <remarks/>\n        suspended,\n        \n        /// <remarks/>\n        canceled,\n        \n        /// <remarks/>\n        terminated,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum paymentMethodEnum {\n        \n        /// <remarks/>\n        creditCard,\n        \n        /// <remarks/>\n        eCheck,\n        \n        /// <remarks/>\n        payPal,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class ARBGetSubscriptionListSorting : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public ARBGetSubscriptionListOrderFieldEnum orderBy;\n        \n        /// <remarks/>\n        public bool orderDescending;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum ARBGetSubscriptionListOrderFieldEnum {\n        \n        /// <remarks/>\n        id,\n        \n        /// <remarks/>\n        name,\n        \n        /// <remarks/>\n        status,\n        \n        /// <remarks/>\n        createTimeStampUTC,\n        \n        /// <remarks/>\n        lastName,\n        \n        /// <remarks/>\n        firstName,\n        \n        /// <remarks/>\n        accountNumber,\n        \n        /// <remarks/>\n        amount,\n        \n        /// <remarks/>\n        pastOccurrences,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class Paging : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public int limit;\n        \n        /// <remarks/>\n        public int offset;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class TransactionListSorting : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public TransactionListOrderFieldEnum orderBy;\n        \n        /// <remarks/>\n        public bool orderDescending;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum TransactionListOrderFieldEnum {\n        \n        /// <remarks/>\n        id,\n        \n        /// <remarks/>\n        submitTimeUTC,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class heldTransactionRequestType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public afdsTransactionEnum action;\n        \n        /// <remarks/>\n        public string refTransId;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum afdsTransactionEnum {\n        \n        /// <remarks/>\n        approve,\n        \n        /// <remarks/>\n        decline,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class createProfileResponse : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public messagesType messages;\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"numericString\", IsNullable=false)]\n        public string[] customerPaymentProfileIdList;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"numericString\", IsNullable=false)]\n        public string[] customerShippingAddressIdList;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class messagesType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public messageTypeEnum resultCode;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"message\")]\n        public messagesTypeMessage[] message;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum messageTypeEnum {\n        \n        /// <remarks/>\n        Ok,\n        \n        /// <remarks/>\n        Error,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class messagesTypeMessage : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string code;\n        \n        /// <remarks/>\n        public string text;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionResponse : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string responseCode;\n        \n        /// <remarks/>\n        public string rawResponseCode;\n        \n        /// <remarks/>\n        public string authCode;\n        \n        /// <remarks/>\n        public string avsResultCode;\n        \n        /// <remarks/>\n        public string cvvResultCode;\n        \n        /// <remarks/>\n        public string cavvResultCode;\n        \n        /// <remarks/>\n        public string transId;\n        \n        /// <remarks/>\n        public string refTransID;\n        \n        /// <remarks/>\n        public string transHash;\n        \n        /// <remarks/>\n        public string testRequest;\n        \n        /// <remarks/>\n        public string accountNumber;\n        \n        /// <remarks/>\n        public string entryMode;\n        \n        /// <remarks/>\n        public string accountType;\n        \n        /// <remarks/>\n        public string splitTenderId;\n        \n        /// <remarks/>\n        public transactionResponsePrePaidCard prePaidCard;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"message\", IsNullable=false)]\n        public transactionResponseMessage[] messages;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"error\", IsNullable=false)]\n        public transactionResponseError[] errors;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"splitTenderPayment\", IsNullable=false)]\n        public transactionResponseSplitTenderPayment[] splitTenderPayments;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]\n        public userField[] userFields;\n        \n        /// <remarks/>\n        public nameAndAddressType shipTo;\n        \n        /// <remarks/>\n        public transactionResponseSecureAcceptance secureAcceptance;\n        \n        /// <remarks/>\n        public transactionResponseEmvResponse emvResponse;\n        \n        /// <remarks/>\n        public string transHashSha2;\n        \n        /// <remarks/>\n        public customerProfileIdType profile;\n        \n        /// <remarks/>\n        public string networkTransId;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionResponsePrePaidCard : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string requestedAmount;\n        \n        /// <remarks/>\n        public string approvedAmount;\n        \n        /// <remarks/>\n        public string balanceOnCard;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionResponseMessage : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string code;\n        \n        /// <remarks/>\n        public string description;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionResponseError : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string errorCode;\n        \n        /// <remarks/>\n        public string errorText;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionResponseSplitTenderPayment : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string transId;\n        \n        /// <remarks/>\n        public string responseCode;\n        \n        /// <remarks/>\n        public string responseToCustomer;\n        \n        /// <remarks/>\n        public string authCode;\n        \n        /// <remarks/>\n        public string accountNumber;\n        \n        /// <remarks/>\n        public string accountType;\n        \n        /// <remarks/>\n        public string requestedAmount;\n        \n        /// <remarks/>\n        public string approvedAmount;\n        \n        /// <remarks/>\n        public string balanceOnCard;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class userField : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public string value;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionResponseSecureAcceptance : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string SecureAcceptanceUrl;\n        \n        /// <remarks/>\n        public string PayerID;\n        \n        /// <remarks/>\n        public string PayerEmail;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionResponseEmvResponse : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string tlvData;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"tag\", IsNullable=false)]\n        public emvTag[] tags;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class emvTag : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public string value;\n        \n        /// <remarks/>\n        public string formatted;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerProfileIdType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public string customerAddressId;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class returnedItemType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string id;\n        \n        /// <remarks/>\n        public System.DateTime dateUTC;\n        \n        /// <remarks/>\n        public System.DateTime dateLocal;\n        \n        /// <remarks/>\n        public string code;\n        \n        /// <remarks/>\n        public string description;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionDetailsType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string transId;\n        \n        /// <remarks/>\n        public string refTransId;\n        \n        /// <remarks/>\n        public string splitTenderId;\n        \n        /// <remarks/>\n        public System.DateTime submitTimeUTC;\n        \n        /// <remarks/>\n        public System.DateTime submitTimeLocal;\n        \n        /// <remarks/>\n        public string transactionType;\n        \n        /// <remarks/>\n        public string transactionStatus;\n        \n        /// <remarks/>\n        public int responseCode;\n        \n        /// <remarks/>\n        public int responseReasonCode;\n        \n        /// <remarks/>\n        public subscriptionPaymentType subscription;\n        \n        /// <remarks/>\n        public string responseReasonDescription;\n        \n        /// <remarks/>\n        public string authCode;\n        \n        /// <remarks/>\n        public string AVSResponse;\n        \n        /// <remarks/>\n        public string cardCodeResponse;\n        \n        /// <remarks/>\n        public string CAVVResponse;\n        \n        /// <remarks/>\n        public string FDSFilterAction;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"FDSFilter\", IsNullable=false)]\n        public FDSFilterType[] FDSFilters;\n        \n        /// <remarks/>\n        public batchDetailsType batch;\n        \n        /// <remarks/>\n        public orderExType order;\n        \n        /// <remarks/>\n        public decimal requestedAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool requestedAmountSpecified;\n        \n        /// <remarks/>\n        public decimal authAmount;\n        \n        /// <remarks/>\n        public decimal settleAmount;\n        \n        /// <remarks/>\n        public extendedAmountType tax;\n        \n        /// <remarks/>\n        public extendedAmountType shipping;\n        \n        /// <remarks/>\n        public extendedAmountType duty;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"lineItem\", IsNullable=false)]\n        public lineItemType[] lineItems;\n        \n        /// <remarks/>\n        public decimal prepaidBalanceRemaining;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool prepaidBalanceRemainingSpecified;\n        \n        /// <remarks/>\n        public bool taxExempt;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxExemptSpecified;\n        \n        /// <remarks/>\n        public paymentMaskedType payment;\n        \n        /// <remarks/>\n        public customerDataType customer;\n        \n        /// <remarks/>\n        public customerAddressType billTo;\n        \n        /// <remarks/>\n        public nameAndAddressType shipTo;\n        \n        /// <remarks/>\n        public bool recurringBilling;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool recurringBillingSpecified;\n        \n        /// <remarks/>\n        public string customerIP;\n        \n        /// <remarks/>\n        public string product;\n        \n        /// <remarks/>\n        public string entryMode;\n        \n        /// <remarks/>\n        public string marketType;\n        \n        /// <remarks/>\n        public string mobileDeviceId;\n        \n        /// <remarks/>\n        public string customerSignature;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"returnedItem\", IsNullable=false)]\n        public returnedItemType[] returnedItems;\n        \n        /// <remarks/>\n        public solutionType solution;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"tag\", IsNullable=false)]\n        public transactionDetailsTypeTag[] emvDetails;\n        \n        /// <remarks/>\n        public customerProfileIdType profile;\n        \n        /// <remarks/>\n        public extendedAmountType surcharge;\n        \n        /// <remarks/>\n        public string employeeId;\n        \n        /// <remarks/>\n        public extendedAmountType tip;\n        \n        /// <remarks/>\n        public otherTaxType otherTax;\n        \n        /// <remarks/>\n        public nameAndAddressType shipFrom;\n        \n        /// <remarks/>\n        public string networkTransId;\n        \n        /// <remarks/>\n        public string originalNetworkTransId;\n        \n        /// <remarks/>\n        public decimal originalAuthAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool originalAuthAmountSpecified;\n        \n        /// <remarks/>\n        public string authorizationIndicator;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class subscriptionPaymentType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public int id;\n        \n        /// <remarks/>\n        public int payNum;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class FDSFilterType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public string action;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class batchDetailsType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string batchId;\n        \n        /// <remarks/>\n        public System.DateTime settlementTimeUTC;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool settlementTimeUTCSpecified;\n        \n        /// <remarks/>\n        public System.DateTime settlementTimeLocal;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool settlementTimeLocalSpecified;\n        \n        /// <remarks/>\n        public string settlementState;\n        \n        /// <remarks/>\n        public string paymentMethod;\n        \n        /// <remarks/>\n        public string marketType;\n        \n        /// <remarks/>\n        public string product;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"statistic\", IsNullable=false)]\n        public batchStatisticType[] statistics;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class batchStatisticType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string accountType;\n        \n        /// <remarks/>\n        public decimal chargeAmount;\n        \n        /// <remarks/>\n        public int chargeCount;\n        \n        /// <remarks/>\n        public decimal refundAmount;\n        \n        /// <remarks/>\n        public int refundCount;\n        \n        /// <remarks/>\n        public int voidCount;\n        \n        /// <remarks/>\n        public int declineCount;\n        \n        /// <remarks/>\n        public int errorCount;\n        \n        /// <remarks/>\n        public decimal returnedItemAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool returnedItemAmountSpecified;\n        \n        /// <remarks/>\n        public int returnedItemCount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool returnedItemCountSpecified;\n        \n        /// <remarks/>\n        public decimal chargebackAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool chargebackAmountSpecified;\n        \n        /// <remarks/>\n        public int chargebackCount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool chargebackCountSpecified;\n        \n        /// <remarks/>\n        public int correctionNoticeCount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool correctionNoticeCountSpecified;\n        \n        /// <remarks/>\n        public decimal chargeChargeBackAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool chargeChargeBackAmountSpecified;\n        \n        /// <remarks/>\n        public int chargeChargeBackCount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool chargeChargeBackCountSpecified;\n        \n        /// <remarks/>\n        public decimal refundChargeBackAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool refundChargeBackAmountSpecified;\n        \n        /// <remarks/>\n        public int refundChargeBackCount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool refundChargeBackCountSpecified;\n        \n        /// <remarks/>\n        public decimal chargeReturnedItemsAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool chargeReturnedItemsAmountSpecified;\n        \n        /// <remarks/>\n        public int chargeReturnedItemsCount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool chargeReturnedItemsCountSpecified;\n        \n        /// <remarks/>\n        public decimal refundReturnedItemsAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool refundReturnedItemsAmountSpecified;\n        \n        /// <remarks/>\n        public int refundReturnedItemsCount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool refundReturnedItemsCountSpecified;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class orderExType : orderType {\n        \n        /// <remarks/>\n        public string purchaseOrderNumber;\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(orderExType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class orderType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string invoiceNumber;\n        \n        /// <remarks/>\n        public string description;\n        \n        /// <remarks/>\n        public decimal discountAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool discountAmountSpecified;\n        \n        /// <remarks/>\n        public bool taxIsAfterDiscount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxIsAfterDiscountSpecified;\n        \n        /// <remarks/>\n        public string totalTaxTypeCode;\n        \n        /// <remarks/>\n        public string purchaserVATRegistrationNumber;\n        \n        /// <remarks/>\n        public string merchantVATRegistrationNumber;\n        \n        /// <remarks/>\n        public string vatInvoiceReferenceNumber;\n        \n        /// <remarks/>\n        public string purchaserCode;\n        \n        /// <remarks/>\n        public string summaryCommodityCode;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(DataType=\"date\")]\n        public System.DateTime purchaseOrderDateUTC;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool purchaseOrderDateUTCSpecified;\n        \n        /// <remarks/>\n        public string supplierOrderReference;\n        \n        /// <remarks/>\n        public string authorizedContactName;\n        \n        /// <remarks/>\n        public string cardAcceptorRefNumber;\n        \n        /// <remarks/>\n        public string amexDataTAA1;\n        \n        /// <remarks/>\n        public string amexDataTAA2;\n        \n        /// <remarks/>\n        public string amexDataTAA3;\n        \n        /// <remarks/>\n        public string amexDataTAA4;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class extendedAmountType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public decimal amount;\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public string description;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class lineItemType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string itemId;\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public string description;\n        \n        /// <remarks/>\n        public decimal quantity;\n        \n        /// <remarks/>\n        public decimal unitPrice;\n        \n        /// <remarks/>\n        public bool taxable;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxableSpecified;\n        \n        /// <remarks/>\n        public string unitOfMeasure;\n        \n        /// <remarks/>\n        public string typeOfSupply;\n        \n        /// <remarks/>\n        public decimal taxRate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxRateSpecified;\n        \n        /// <remarks/>\n        public decimal taxAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxAmountSpecified;\n        \n        /// <remarks/>\n        public decimal nationalTax;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool nationalTaxSpecified;\n        \n        /// <remarks/>\n        public decimal localTax;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool localTaxSpecified;\n        \n        /// <remarks/>\n        public decimal vatRate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool vatRateSpecified;\n        \n        /// <remarks/>\n        public string alternateTaxId;\n        \n        /// <remarks/>\n        public string alternateTaxType;\n        \n        /// <remarks/>\n        public string alternateTaxTypeApplied;\n        \n        /// <remarks/>\n        public decimal alternateTaxRate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool alternateTaxRateSpecified;\n        \n        /// <remarks/>\n        public decimal alternateTaxAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool alternateTaxAmountSpecified;\n        \n        /// <remarks/>\n        public decimal totalAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool totalAmountSpecified;\n        \n        /// <remarks/>\n        public string commodityCode;\n        \n        /// <remarks/>\n        public string productCode;\n        \n        /// <remarks/>\n        public string productSKU;\n        \n        /// <remarks/>\n        public decimal discountRate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool discountRateSpecified;\n        \n        /// <remarks/>\n        public decimal discountAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool discountAmountSpecified;\n        \n        /// <remarks/>\n        public bool taxIncludedInTotal;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxIncludedInTotalSpecified;\n        \n        /// <remarks/>\n        public bool taxIsAfterDiscount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxIsAfterDiscountSpecified;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerDataType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public customerTypeEnum type;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool typeSpecified;\n        \n        /// <remarks/>\n        public string id;\n        \n        /// <remarks/>\n        public string email;\n        \n        /// <remarks/>\n        public driversLicenseType driversLicense;\n        \n        /// <remarks/>\n        public string taxId;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum customerTypeEnum {\n        \n        /// <remarks/>\n        individual,\n        \n        /// <remarks/>\n        business,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class driversLicenseType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string number;\n        \n        /// <remarks/>\n        public string state;\n        \n        /// <remarks/>\n        public string dateOfBirth;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class solutionType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string id;\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public string vendorName;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionDetailsTypeTag : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string tagId;\n        \n        /// <remarks/>\n        public string data;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class otherTaxType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public decimal nationalTaxAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool nationalTaxAmountSpecified;\n        \n        /// <remarks/>\n        public decimal localTaxAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool localTaxAmountSpecified;\n        \n        /// <remarks/>\n        public decimal alternateTaxAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool alternateTaxAmountSpecified;\n        \n        /// <remarks/>\n        public string alternateTaxId;\n        \n        /// <remarks/>\n        public decimal vatTaxRate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool vatTaxRateSpecified;\n        \n        /// <remarks/>\n        public decimal vatTaxAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool vatTaxAmountSpecified;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransactionType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"profileTransAuthCapture\", typeof(profileTransAuthCaptureType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"profileTransAuthOnly\", typeof(profileTransAuthOnlyType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"profileTransCaptureOnly\", typeof(profileTransCaptureOnlyType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"profileTransPriorAuthCapture\", typeof(profileTransPriorAuthCaptureType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"profileTransRefund\", typeof(profileTransRefundType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"profileTransVoid\", typeof(profileTransVoidType))]\n        public object Item;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransAuthCaptureType : profileTransOrderType {\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransCaptureOnlyType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransAuthOnlyType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransAuthCaptureType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransOrderType : profileTransAmountType {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public string customerShippingAddressId;\n        \n        /// <remarks/>\n        public orderExType order;\n        \n        /// <remarks/>\n        public bool taxExempt;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxExemptSpecified;\n        \n        /// <remarks/>\n        public bool recurringBilling;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool recurringBillingSpecified;\n        \n        /// <remarks/>\n        public string cardCode;\n        \n        /// <remarks/>\n        public string splitTenderId;\n        \n        /// <remarks/>\n        public processingOptions processingOptions;\n        \n        /// <remarks/>\n        public subsequentAuthInformation subsequentAuthInformation;\n        \n        /// <remarks/>\n        public authorizationIndicatorType authorizationIndicatorType;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class processingOptions : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public bool isFirstRecurringPayment;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool isFirstRecurringPaymentSpecified;\n        \n        /// <remarks/>\n        public bool isFirstSubsequentAuth;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool isFirstSubsequentAuthSpecified;\n        \n        /// <remarks/>\n        public bool isSubsequentAuth;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool isSubsequentAuthSpecified;\n        \n        /// <remarks/>\n        public bool isStoredCredentials;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool isStoredCredentialsSpecified;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class subsequentAuthInformation : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string originalNetworkTransId;\n        \n        /// <remarks/>\n        public decimal originalAuthAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool originalAuthAmountSpecified;\n        \n        /// <remarks/>\n        public merchantInitTransReasonEnum reason;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool reasonSpecified;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum merchantInitTransReasonEnum {\n        \n        /// <remarks/>\n        resubmission,\n        \n        /// <remarks/>\n        delayedCharge,\n        \n        /// <remarks/>\n        reauthorization,\n        \n        /// <remarks/>\n        noShow,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class authorizationIndicatorType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public authIndicatorEnum authorizationIndicator;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool authorizationIndicatorSpecified;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum authIndicatorEnum {\n        \n        /// <remarks/>\n        pre,\n        \n        /// <remarks/>\n        final,\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransRefundType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransPriorAuthCaptureType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransOrderType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransCaptureOnlyType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransAuthOnlyType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransAuthCaptureType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransAmountType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public decimal amount;\n        \n        /// <remarks/>\n        public extendedAmountType tax;\n        \n        /// <remarks/>\n        public extendedAmountType shipping;\n        \n        /// <remarks/>\n        public extendedAmountType duty;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"lineItems\")]\n        public lineItemType[] lineItems;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransRefundType : profileTransAmountType {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public string customerShippingAddressId;\n        \n        /// <remarks/>\n        public string creditCardNumberMasked;\n        \n        /// <remarks/>\n        public string bankRoutingNumberMasked;\n        \n        /// <remarks/>\n        public string bankAccountNumberMasked;\n        \n        /// <remarks/>\n        public orderExType order;\n        \n        /// <remarks/>\n        public string transId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransPriorAuthCaptureType : profileTransAmountType {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public string customerShippingAddressId;\n        \n        /// <remarks/>\n        public string transId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransCaptureOnlyType : profileTransOrderType {\n        \n        /// <remarks/>\n        public string approvalCode;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransAuthOnlyType : profileTransOrderType {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransVoidType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public string customerShippingAddressId;\n        \n        /// <remarks/>\n        public string transId;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class paymentProfile : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string paymentProfileId;\n        \n        /// <remarks/>\n        public string cardCode;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerProfilePaymentType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public bool createProfile;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool createProfileSpecified;\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public paymentProfile paymentProfile;\n        \n        /// <remarks/>\n        public string shippingProfileId;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionRequestType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string transactionType;\n        \n        /// <remarks/>\n        public decimal amount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool amountSpecified;\n        \n        /// <remarks/>\n        public string currencyCode;\n        \n        /// <remarks/>\n        public paymentType payment;\n        \n        /// <remarks/>\n        public customerProfilePaymentType profile;\n        \n        /// <remarks/>\n        public solutionType solution;\n        \n        /// <remarks/>\n        public string callId;\n        \n        /// <remarks/>\n        public string terminalNumber;\n        \n        /// <remarks/>\n        public string authCode;\n        \n        /// <remarks/>\n        public string refTransId;\n        \n        /// <remarks/>\n        public string splitTenderId;\n        \n        /// <remarks/>\n        public orderType order;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"lineItem\", IsNullable=false)]\n        public lineItemType[] lineItems;\n        \n        /// <remarks/>\n        public extendedAmountType tax;\n        \n        /// <remarks/>\n        public extendedAmountType duty;\n        \n        /// <remarks/>\n        public extendedAmountType shipping;\n        \n        /// <remarks/>\n        public bool taxExempt;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxExemptSpecified;\n        \n        /// <remarks/>\n        public string poNumber;\n        \n        /// <remarks/>\n        public customerDataType customer;\n        \n        /// <remarks/>\n        public customerAddressType billTo;\n        \n        /// <remarks/>\n        public nameAndAddressType shipTo;\n        \n        /// <remarks/>\n        public string customerIP;\n        \n        /// <remarks/>\n        public ccAuthenticationType cardholderAuthentication;\n        \n        /// <remarks/>\n        public transRetailInfoType retail;\n        \n        /// <remarks/>\n        public string employeeId;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"setting\", IsNullable=false)]\n        public settingType[] transactionSettings;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]\n        public userField[] userFields;\n        \n        /// <remarks/>\n        public extendedAmountType surcharge;\n        \n        /// <remarks/>\n        public string merchantDescriptor;\n        \n        /// <remarks/>\n        public subMerchantType subMerchant;\n        \n        /// <remarks/>\n        public extendedAmountType tip;\n        \n        /// <remarks/>\n        public processingOptions processingOptions;\n        \n        /// <remarks/>\n        public subsequentAuthInformation subsequentAuthInformation;\n        \n        /// <remarks/>\n        public otherTaxType otherTax;\n        \n        /// <remarks/>\n        public nameAndAddressType shipFrom;\n        \n        /// <remarks/>\n        public authorizationIndicatorType authorizationIndicatorType;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class paymentType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"bankAccount\", typeof(bankAccountType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"creditCard\", typeof(creditCardType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"emv\", typeof(paymentEmvType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"encryptedTrackData\", typeof(encryptedTrackDataType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"opaqueData\", typeof(opaqueDataType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"payPal\", typeof(payPalType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"trackData\", typeof(creditCardTrackType))]\n        public object Item;\n        \n        /// <remarks/>\n        public string dataSource;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class bankAccountType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public bankAccountTypeEnum accountType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool accountTypeSpecified;\n        \n        /// <remarks/>\n        public string routingNumber;\n        \n        /// <remarks/>\n        public string accountNumber;\n        \n        /// <remarks/>\n        public string nameOnAccount;\n        \n        /// <remarks/>\n        public echeckTypeEnum echeckType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool echeckTypeSpecified;\n        \n        /// <remarks/>\n        public string bankName;\n        \n        /// <remarks/>\n        public string checkNumber;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class creditCardType : creditCardSimpleType {\n        \n        /// <remarks/>\n        public string cardCode;\n        \n        /// <remarks/>\n        public bool isPaymentToken;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool isPaymentTokenSpecified;\n        \n        /// <remarks/>\n        public string cryptogram;\n        \n        /// <remarks/>\n        public string tokenRequestorName;\n        \n        /// <remarks/>\n        public string tokenRequestorId;\n        \n        /// <remarks/>\n        public string tokenRequestorEci;\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(creditCardType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class creditCardSimpleType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string cardNumber;\n        \n        /// <remarks/>\n        public string expirationDate;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class paymentEmvType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public object emvData;\n        \n        /// <remarks/>\n        public object emvDescriptor;\n        \n        /// <remarks/>\n        public object emvVersion;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class encryptedTrackDataType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public KeyBlock FormOfPayment;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class KeyBlock : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public KeyValue Value;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class KeyValue : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public EncodingType Encoding;\n        \n        /// <remarks/>\n        public EncryptionAlgorithmType EncryptionAlgorithm;\n        \n        /// <remarks/>\n        public KeyManagementScheme Scheme;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum EncodingType {\n        \n        /// <remarks/>\n        Base64,\n        \n        /// <remarks/>\n        Hex,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum EncryptionAlgorithmType {\n        \n        /// <remarks/>\n        TDES,\n        \n        /// <remarks/>\n        AES,\n        \n        /// <remarks/>\n        RSA,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class KeyManagementScheme : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public KeyManagementSchemeDUKPT DUKPT;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class KeyManagementSchemeDUKPT : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public OperationType Operation;\n        \n        /// <remarks/>\n        public KeyManagementSchemeDUKPTMode Mode;\n        \n        /// <remarks/>\n        public KeyManagementSchemeDUKPTDeviceInfo DeviceInfo;\n        \n        /// <remarks/>\n        public KeyManagementSchemeDUKPTEncryptedData EncryptedData;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum OperationType {\n        \n        /// <remarks/>\n        DECRYPT,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class KeyManagementSchemeDUKPTMode : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string PIN;\n        \n        /// <remarks/>\n        public string Data;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class KeyManagementSchemeDUKPTDeviceInfo : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string Description;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class KeyManagementSchemeDUKPTEncryptedData : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string Value;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class payPalType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string successUrl;\n        \n        /// <remarks/>\n        public string cancelUrl;\n        \n        /// <remarks/>\n        public string paypalLc;\n        \n        /// <remarks/>\n        public string paypalHdrImg;\n        \n        /// <remarks/>\n        public string paypalPayflowcolor;\n        \n        /// <remarks/>\n        public string payerID;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class creditCardTrackType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"track1\", typeof(string))]\n        [System.Xml.Serialization.XmlElementAttribute(\"track2\", typeof(string))]\n        [System.Xml.Serialization.XmlChoiceIdentifierAttribute(\"ItemElementName\")]\n        public string Item;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public ItemChoiceType1 ItemElementName;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IncludeInSchema=false)]\n    public enum ItemChoiceType1 {\n        \n        /// <remarks/>\n        track1,\n        \n        /// <remarks/>\n        track2,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class ccAuthenticationType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string authenticationIndicator;\n        \n        /// <remarks/>\n        public string cardholderAuthenticationValue;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transRetailInfoType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        [System.ComponentModel.DefaultValueAttribute(\"2\")]\n        public string marketType;\n        \n        /// <remarks/>\n        public string deviceType;\n        \n        /// <remarks/>\n        public string customerSignature;\n        \n        /// <remarks/>\n        public string terminalNumber;\n        \n        public transRetailInfoType() {\n            this.marketType = \"2\";\n        }\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class settingType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string settingName;\n        \n        /// <remarks/>\n        public string settingValue;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class subMerchantType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string identifier;\n        \n        /// <remarks/>\n        public string doingBusinessAs;\n        \n        /// <remarks/>\n        public string paymentServiceProviderName;\n        \n        /// <remarks/>\n        public string paymentServiceFacilitator;\n        \n        /// <remarks/>\n        public string streetAddress;\n        \n        /// <remarks/>\n        public string phone;\n        \n        /// <remarks/>\n        public string email;\n        \n        /// <remarks/>\n        public string postalCode;\n        \n        /// <remarks/>\n        public string city;\n        \n        /// <remarks/>\n        public string regionCode;\n        \n        /// <remarks/>\n        public string countryCode;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class mobileDeviceType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string mobileDeviceId;\n        \n        /// <remarks/>\n        public string description;\n        \n        /// <remarks/>\n        public string phoneNumber;\n        \n        /// <remarks/>\n        public string devicePlatform;\n        \n        /// <remarks/>\n        public deviceActivationEnum deviceActivation;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool deviceActivationSpecified;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum deviceActivationEnum {\n        \n        /// <remarks/>\n        Activate,\n        \n        /// <remarks/>\n        Disable,\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerPaymentProfileMaskedType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerPaymentProfileType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerPaymentProfileExType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerPaymentProfileBaseType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public customerTypeEnum customerType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool customerTypeSpecified;\n        \n        /// <remarks/>\n        public customerAddressType billTo;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerPaymentProfileMaskedType : customerPaymentProfileBaseType {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public bool defaultPaymentProfile;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool defaultPaymentProfileSpecified;\n        \n        /// <remarks/>\n        public paymentMaskedType payment;\n        \n        /// <remarks/>\n        public driversLicenseMaskedType driversLicense;\n        \n        /// <remarks/>\n        public string taxId;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"subscriptionId\", IsNullable=false)]\n        public string[] subscriptionIds;\n        \n        /// <remarks/>\n        public string originalNetworkTransId;\n        \n        /// <remarks/>\n        public decimal originalAuthAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool originalAuthAmountSpecified;\n        \n        /// <remarks/>\n        public bool excludeFromAccountUpdater;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool excludeFromAccountUpdaterSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class driversLicenseMaskedType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string number;\n        \n        /// <remarks/>\n        public string state;\n        \n        /// <remarks/>\n        public string dateOfBirth;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerPaymentProfileExType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerPaymentProfileType : customerPaymentProfileBaseType {\n        \n        /// <remarks/>\n        public paymentType payment;\n        \n        /// <remarks/>\n        public driversLicenseType driversLicense;\n        \n        /// <remarks/>\n        public string taxId;\n        \n        /// <remarks/>\n        public bool defaultPaymentProfile;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool defaultPaymentProfileSpecified;\n        \n        /// <remarks/>\n        public subsequentAuthInformation subsequentAuthInformation;\n        \n        /// <remarks/>\n        public bool excludeFromAccountUpdater;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool excludeFromAccountUpdaterSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerPaymentProfileExType : customerPaymentProfileType {\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerProfileExType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerProfileMaskedType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerProfileInfoExType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(subscriptionCustomerProfileType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerProfileType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerProfileBaseType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string merchantCustomerId;\n        \n        /// <remarks/>\n        public string description;\n        \n        /// <remarks/>\n        public string email;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerProfileMaskedType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerProfileInfoExType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(subscriptionCustomerProfileType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerProfileExType : customerProfileBaseType {\n        \n        /// <remarks/>\n        public string customerProfileId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerProfileMaskedType : customerProfileExType {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"paymentProfiles\")]\n        public customerPaymentProfileMaskedType[] paymentProfiles;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"shipToList\")]\n        public customerAddressExType[] shipToList;\n        \n        /// <remarks/>\n        public customerProfileTypeEnum profileType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool profileTypeSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum customerProfileTypeEnum {\n        \n        /// <remarks/>\n        regular,\n        \n        /// <remarks/>\n        guest,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerProfileInfoExType : customerProfileExType {\n        \n        /// <remarks/>\n        public customerProfileTypeEnum profileType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool profileTypeSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class subscriptionCustomerProfileType : customerProfileExType {\n        \n        /// <remarks/>\n        public customerPaymentProfileMaskedType paymentProfile;\n        \n        /// <remarks/>\n        public customerAddressExType shippingProfile;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerProfileType : customerProfileBaseType {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"paymentProfiles\")]\n        public customerPaymentProfileType[] paymentProfiles;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"shipToList\")]\n        public customerAddressType[] shipToList;\n        \n        /// <remarks/>\n        public customerProfileTypeEnum profileType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool profileTypeSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class ARBSubscriptionMaskedType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public paymentScheduleType paymentSchedule;\n        \n        /// <remarks/>\n        public decimal amount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool amountSpecified;\n        \n        /// <remarks/>\n        public decimal trialAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool trialAmountSpecified;\n        \n        /// <remarks/>\n        public ARBSubscriptionStatusEnum status;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool statusSpecified;\n        \n        /// <remarks/>\n        public subscriptionCustomerProfileType profile;\n        \n        /// <remarks/>\n        public orderType order;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]\n        public arbTransaction[] arbTransactions;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class paymentScheduleType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public paymentScheduleTypeInterval interval;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(DataType=\"date\")]\n        public System.DateTime startDate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool startDateSpecified;\n        \n        /// <remarks/>\n        public short totalOccurrences;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool totalOccurrencesSpecified;\n        \n        /// <remarks/>\n        public short trialOccurrences;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool trialOccurrencesSpecified;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class paymentScheduleTypeInterval : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public short length;\n        \n        /// <remarks/>\n        public ARBSubscriptionUnitEnum unit;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum ARBSubscriptionUnitEnum {\n        \n        /// <remarks/>\n        days,\n        \n        /// <remarks/>\n        months,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class arbTransaction : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string transId;\n        \n        /// <remarks/>\n        public string response;\n        \n        /// <remarks/>\n        public System.DateTime submitTimeUTC;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool submitTimeUTCSpecified;\n        \n        /// <remarks/>\n        public int payNum;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool payNumSpecified;\n        \n        /// <remarks/>\n        public int attemptNum;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool attemptNumSpecified;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class securePaymentContainerErrorType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string code;\n        \n        /// <remarks/>\n        public string description;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public customerTypeEnum type;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool typeSpecified;\n        \n        /// <remarks/>\n        public string id;\n        \n        /// <remarks/>\n        public string email;\n        \n        /// <remarks/>\n        public string phoneNumber;\n        \n        /// <remarks/>\n        public string faxNumber;\n        \n        /// <remarks/>\n        public driversLicenseType driversLicense;\n        \n        /// <remarks/>\n        public string taxId;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class paymentSimpleType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"bankAccount\", typeof(bankAccountType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"creditCard\", typeof(creditCardSimpleType))]\n        public object Item;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class merchantContactType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string merchantName;\n        \n        /// <remarks/>\n        public string merchantAddress;\n        \n        /// <remarks/>\n        public string merchantCity;\n        \n        /// <remarks/>\n        public string merchantState;\n        \n        /// <remarks/>\n        public string merchantZip;\n        \n        /// <remarks/>\n        public string merchantPhone;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class ContactDetailType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string email;\n        \n        /// <remarks/>\n        public string firstName;\n        \n        /// <remarks/>\n        public string lastName;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class permissionType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string permissionName;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(emailSettingsType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class ArrayOfSetting : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"setting\")]\n        public settingType[] setting;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class emailSettingsType : ArrayOfSetting {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute(DataType=\"integer\")]\n        public string version;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class fraudInformationType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"fraudFilter\", IsNullable=false)]\n        public string[] fraudFilterList;\n        \n        /// <remarks/>\n        public string fraudAction;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionSummaryType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string transId;\n        \n        /// <remarks/>\n        public System.DateTime submitTimeUTC;\n        \n        /// <remarks/>\n        public System.DateTime submitTimeLocal;\n        \n        /// <remarks/>\n        public string transactionStatus;\n        \n        /// <remarks/>\n        public string invoiceNumber;\n        \n        /// <remarks/>\n        public string firstName;\n        \n        /// <remarks/>\n        public string lastName;\n        \n        /// <remarks/>\n        public string accountType;\n        \n        /// <remarks/>\n        public string accountNumber;\n        \n        /// <remarks/>\n        public decimal settleAmount;\n        \n        /// <remarks/>\n        public string marketType;\n        \n        /// <remarks/>\n        public string product;\n        \n        /// <remarks/>\n        public string mobileDeviceId;\n        \n        /// <remarks/>\n        public subscriptionPaymentType subscription;\n        \n        /// <remarks/>\n        public bool hasReturnedItems;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool hasReturnedItemsSpecified;\n        \n        /// <remarks/>\n        public fraudInformationType fraudInformation;\n        \n        /// <remarks/>\n        public customerProfileIdType profile;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class ARBSubscriptionType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public paymentScheduleType paymentSchedule;\n        \n        /// <remarks/>\n        public decimal amount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool amountSpecified;\n        \n        /// <remarks/>\n        public decimal trialAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool trialAmountSpecified;\n        \n        /// <remarks/>\n        public paymentType payment;\n        \n        /// <remarks/>\n        public orderType order;\n        \n        /// <remarks/>\n        public customerType customer;\n        \n        /// <remarks/>\n        public nameAndAddressType billTo;\n        \n        /// <remarks/>\n        public nameAndAddressType shipTo;\n        \n        /// <remarks/>\n        public customerProfileIdType profile;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class webCheckOutDataTypeToken : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string cardNumber;\n        \n        /// <remarks/>\n        public string expirationDate;\n        \n        /// <remarks/>\n        public string cardCode;\n        \n        /// <remarks/>\n        public string zip;\n        \n        /// <remarks/>\n        public string fullName;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class webCheckOutDataType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public webCheckOutTypeEnum type;\n        \n        /// <remarks/>\n        public string id;\n        \n        /// <remarks/>\n        public webCheckOutDataTypeToken token;\n        \n        /// <remarks/>\n        public bankAccountType bankToken;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum webCheckOutTypeEnum {\n        \n        /// <remarks/>\n        PAN,\n        \n        /// <remarks/>\n        TOKEN,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class paymentDetails : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string currency;\n        \n        /// <remarks/>\n        public string promoCode;\n        \n        /// <remarks/>\n        public string misc;\n        \n        /// <remarks/>\n        public string giftWrap;\n        \n        /// <remarks/>\n        public string discount;\n        \n        /// <remarks/>\n        public string tax;\n        \n        /// <remarks/>\n        public string shippingHandling;\n        \n        /// <remarks/>\n        public string subTotal;\n        \n        /// <remarks/>\n        public string orderID;\n        \n        /// <remarks/>\n        public string amount;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class fingerPrintType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string hashValue;\n        \n        /// <remarks/>\n        public string sequence;\n        \n        /// <remarks/>\n        public string timestamp;\n        \n        /// <remarks/>\n        public string currencyCode;\n        \n        /// <remarks/>\n        public string amount;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class impersonationAuthenticationType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string partnerLoginId;\n        \n        /// <remarks/>\n        public string partnerTransactionKey;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class merchantAuthenticationType : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"accessToken\", typeof(string))]\n        [System.Xml.Serialization.XmlElementAttribute(\"clientKey\", typeof(string))]\n        [System.Xml.Serialization.XmlElementAttribute(\"fingerPrint\", typeof(fingerPrintType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"impersonationAuthentication\", typeof(impersonationAuthenticationType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"password\", typeof(string))]\n        [System.Xml.Serialization.XmlElementAttribute(\"sessionToken\", typeof(string))]\n        [System.Xml.Serialization.XmlElementAttribute(\"transactionKey\", typeof(string))]\n        [System.Xml.Serialization.XmlChoiceIdentifierAttribute(\"ItemElementName\")]\n        public object Item;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public ItemChoiceType ItemElementName;\n        \n        /// <remarks/>\n        public string mobileDeviceId;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IncludeInSchema=false)]\n    public enum ItemChoiceType {\n        \n        /// <remarks/>\n        accessToken,\n        \n        /// <remarks/>\n        clientKey,\n        \n        /// <remarks/>\n        fingerPrint,\n        \n        /// <remarks/>\n        impersonationAuthentication,\n        \n        /// <remarks/>\n        password,\n        \n        /// <remarks/>\n        sessionToken,\n        \n        /// <remarks/>\n        transactionKey,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class ANetApiRequest : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public merchantAuthenticationType merchantAuthentication;\n        \n        /// <remarks/>\n        public string clientId;\n        \n        /// <remarks/>\n        public string refId;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class decryptPaymentDataResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public customerAddressType shippingInfo;\n        \n        /// <remarks/>\n        public customerAddressType billingInfo;\n        \n        /// <remarks/>\n        public creditCardMaskedType cardInfo;\n        \n        /// <remarks/>\n        public paymentDetails paymentDetails;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(\"ErrorResponse\", Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ANetApiResponse : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string refId;\n        \n        /// <remarks/>\n        public messagesType messages;\n        \n        /// <remarks/>\n        public string sessionToken;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class securePaymentContainerRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public webCheckOutDataType data;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class securePaymentContainerResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public opaqueDataType opaqueData;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class isAliveRequest : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public string refId;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class isAliveResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class authenticateTestRequest : ANetApiRequest {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class authenticateTestResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBCreateSubscriptionRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public ARBSubscriptionType subscription;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBCreateSubscriptionResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public string subscriptionId;\n        \n        /// <remarks/>\n        public customerProfileIdType profile;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBUpdateSubscriptionRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string subscriptionId;\n        \n        /// <remarks/>\n        public ARBSubscriptionType subscription;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBUpdateSubscriptionResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public customerProfileIdType profile;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBCancelSubscriptionRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string subscriptionId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBCancelSubscriptionResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBGetSubscriptionStatusRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string subscriptionId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBGetSubscriptionStatusResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public ARBSubscriptionStatusEnum status;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool statusSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public customerProfileType profile;\n        \n        /// <remarks/>\n        public validationModeEnum validationMode;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool validationModeSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum validationModeEnum {\n        \n        /// <remarks/>\n        none,\n        \n        /// <remarks/>\n        testMode,\n        \n        /// <remarks/>\n        liveMode,\n        \n        /// <remarks/>\n        oldLiveMode,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerProfileResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"numericString\", IsNullable=false)]\n        public string[] customerPaymentProfileIdList;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"numericString\", IsNullable=false)]\n        public string[] customerShippingAddressIdList;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]\n        public string[] validationDirectResponseList;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerPaymentProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public customerPaymentProfileType paymentProfile;\n        \n        /// <remarks/>\n        public validationModeEnum validationMode;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool validationModeSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerPaymentProfileResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public string validationDirectResponse;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerShippingAddressRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public customerAddressType address;\n        \n        /// <remarks/>\n        public bool defaultShippingAddress;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool defaultShippingAddressSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerShippingAddressResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerAddressId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerProfileFromTransactionRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string transId;\n        \n        /// <remarks/>\n        public customerProfileBaseType customer;\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public bool defaultPaymentProfile;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool defaultPaymentProfileSpecified;\n        \n        /// <remarks/>\n        public bool defaultShippingAddress;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool defaultShippingAddressSpecified;\n        \n        /// <remarks/>\n        public customerProfileTypeEnum profileType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool profileTypeSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string merchantCustomerId;\n        \n        /// <remarks/>\n        public string email;\n        \n        /// <remarks/>\n        public bool unmaskExpirationDate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool unmaskExpirationDateSpecified;\n        \n        /// <remarks/>\n        public bool includeIssuerInfo;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool includeIssuerInfoSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerProfileResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public customerProfileMaskedType profile;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"subscriptionId\", IsNullable=false)]\n        public string[] subscriptionIds;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerPaymentProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public bool unmaskExpirationDate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool unmaskExpirationDateSpecified;\n        \n        /// <remarks/>\n        public bool includeIssuerInfo;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool includeIssuerInfoSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerPaymentProfileResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public customerPaymentProfileMaskedType paymentProfile;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerShippingAddressRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerAddressId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerShippingAddressResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public bool defaultShippingAddress;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool defaultShippingAddressSpecified;\n        \n        /// <remarks/>\n        public customerAddressExType address;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"subscriptionId\", IsNullable=false)]\n        public string[] subscriptionIds;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateCustomerProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public customerProfileInfoExType profile;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateCustomerProfileResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateCustomerPaymentProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public customerPaymentProfileExType paymentProfile;\n        \n        /// <remarks/>\n        public validationModeEnum validationMode;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool validationModeSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateCustomerPaymentProfileResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public string validationDirectResponse;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateCustomerShippingAddressRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public customerAddressExType address;\n        \n        /// <remarks/>\n        public bool defaultShippingAddress;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool defaultShippingAddressSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateCustomerShippingAddressResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class deleteCustomerProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class deleteCustomerProfileResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class deleteCustomerPaymentProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class deleteCustomerPaymentProfileResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class deleteCustomerShippingAddressRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerAddressId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class deleteCustomerShippingAddressResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerProfileTransactionRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public profileTransactionType transaction;\n        \n        /// <remarks/>\n        public string extraOptions;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerProfileTransactionResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public transactionResponse transactionResponse;\n        \n        /// <remarks/>\n        public string directResponse;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class validateCustomerPaymentProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public string customerShippingAddressId;\n        \n        /// <remarks/>\n        public string cardCode;\n        \n        /// <remarks/>\n        public validationModeEnum validationMode;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class validateCustomerPaymentProfileResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public string directResponse;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerProfileIdsRequest : ANetApiRequest {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerProfileIdsResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"numericString\", IsNullable=false)]\n        public string[] ids;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateSplitTenderGroupRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string splitTenderId;\n        \n        /// <remarks/>\n        public splitTenderStatusEnum splitTenderStatus;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum splitTenderStatusEnum {\n        \n        /// <remarks/>\n        completed,\n        \n        /// <remarks/>\n        held,\n        \n        /// <remarks/>\n        voided,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateSplitTenderGroupResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getTransactionDetailsRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string transId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getTransactionDetailsResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public transactionDetailsType transaction;\n        \n        /// <remarks/>\n        public string clientId;\n        \n        /// <remarks/>\n        public string transrefId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createTransactionRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public transactionRequestType transactionRequest;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createTransactionResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public transactionResponse transactionResponse;\n        \n        /// <remarks/>\n        public createProfileResponse profileResponse;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateHeldTransactionRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public heldTransactionRequestType heldTransactionRequest;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateHeldTransactionResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public transactionResponse transactionResponse;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getBatchStatisticsRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string batchId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getBatchStatisticsResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public batchDetailsType batch;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getSettledBatchListRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public bool includeStatistics;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool includeStatisticsSpecified;\n        \n        /// <remarks/>\n        public System.DateTime firstSettlementDate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool firstSettlementDateSpecified;\n        \n        /// <remarks/>\n        public System.DateTime lastSettlementDate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool lastSettlementDateSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getSettledBatchListResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"batch\", IsNullable=false)]\n        public batchDetailsType[] batchList;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getTransactionListRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string batchId;\n        \n        /// <remarks/>\n        public TransactionListSorting sorting;\n        \n        /// <remarks/>\n        public Paging paging;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getTransactionListResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"transaction\", IsNullable=false)]\n        public transactionSummaryType[] transactions;\n        \n        /// <remarks/>\n        public int totalNumInResultSet;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool totalNumInResultSetSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getHostedProfilePageRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"setting\", IsNullable=false)]\n        public settingType[] hostedProfileSettings;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getHostedProfilePageResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public string token;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getUnsettledTransactionListRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public TransactionGroupStatusEnum status;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool statusSpecified;\n        \n        /// <remarks/>\n        public TransactionListSorting sorting;\n        \n        /// <remarks/>\n        public Paging paging;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum TransactionGroupStatusEnum {\n        \n        /// <remarks/>\n        any,\n        \n        /// <remarks/>\n        pendingApproval,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getHostedPaymentPageRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public transactionRequestType transactionRequest;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"setting\", IsNullable=false)]\n        public settingType[] hostedPaymentSettings;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getHostedPaymentPageResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public string token;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getUnsettledTransactionListResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"transaction\", IsNullable=false)]\n        public transactionSummaryType[] transactions;\n        \n        /// <remarks/>\n        public int totalNumInResultSet;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool totalNumInResultSetSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class mobileDeviceRegistrationRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public mobileDeviceType mobileDevice;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class mobileDeviceRegistrationResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class mobileDeviceLoginRequest : ANetApiRequest {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class mobileDeviceLoginResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public merchantContactType merchantContact;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"permission\", IsNullable=false)]\n        public permissionType[] userPermissions;\n        \n        /// <remarks/>\n        public transRetailInfoType merchantAccount;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class logoutRequest : ANetApiRequest {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class logoutResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class sendCustomerTransactionReceiptRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string transId;\n        \n        /// <remarks/>\n        public string customerEmail;\n        \n        /// <remarks/>\n        public emailSettingsType emailSettings;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class sendCustomerTransactionReceiptResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBGetSubscriptionListRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public ARBGetSubscriptionListSearchTypeEnum searchType;\n        \n        /// <remarks/>\n        public ARBGetSubscriptionListSorting sorting;\n        \n        /// <remarks/>\n        public Paging paging;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum ARBGetSubscriptionListSearchTypeEnum {\n        \n        /// <remarks/>\n        cardExpiringThisMonth,\n        \n        /// <remarks/>\n        subscriptionActive,\n        \n        /// <remarks/>\n        subscriptionExpiringThisMonth,\n        \n        /// <remarks/>\n        subscriptionInactive,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBGetSubscriptionListResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public int totalNumInResultSet;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool totalNumInResultSetSpecified;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"subscriptionDetail\")]\n        public SubscriptionDetail[] subscriptionDetails;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class EnumCollection : object, System.ComponentModel.INotifyPropertyChanged {\n        \n        /// <remarks/>\n        public customerProfileSummaryType customerProfileSummaryType;\n        \n        /// <remarks/>\n        public paymentSimpleType paymentSimpleType;\n        \n        /// <remarks/>\n        public accountTypeEnum accountTypeEnum;\n        \n        /// <remarks/>\n        public cardTypeEnum cardTypeEnum;\n        \n        /// <remarks/>\n        public FDSFilterActionEnum FDSFilterActionEnum;\n        \n        /// <remarks/>\n        public permissionsEnum permissionsEnum;\n        \n        /// <remarks/>\n        public settingNameEnum settingNameEnum;\n        \n        /// <remarks/>\n        public settlementStateEnum settlementStateEnum;\n        \n        /// <remarks/>\n        public transactionStatusEnum transactionStatusEnum;\n        \n        /// <remarks/>\n        public transactionTypeEnum transactionTypeEnum;\n        \n        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n        \n        protected void RaisePropertyChanged(string propertyName) {\n            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;\n            if ((propertyChanged != null)) {\n                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum accountTypeEnum {\n        \n        /// <remarks/>\n        Visa,\n        \n        /// <remarks/>\n        MasterCard,\n        \n        /// <remarks/>\n        AmericanExpress,\n        \n        /// <remarks/>\n        Discover,\n        \n        /// <remarks/>\n        JCB,\n        \n        /// <remarks/>\n        DinersClub,\n        \n        /// <remarks/>\n        eCheck,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum cardTypeEnum {\n        \n        /// <remarks/>\n        Visa,\n        \n        /// <remarks/>\n        MasterCard,\n        \n        /// <remarks/>\n        AmericanExpress,\n        \n        /// <remarks/>\n        Discover,\n        \n        /// <remarks/>\n        JCB,\n        \n        /// <remarks/>\n        DinersClub,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum FDSFilterActionEnum {\n        \n        /// <remarks/>\n        reject,\n        \n        /// <remarks/>\n        decline,\n        \n        /// <remarks/>\n        hold,\n        \n        /// <remarks/>\n        authAndHold,\n        \n        /// <remarks/>\n        report,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum permissionsEnum {\n        \n        /// <remarks/>\n        API_Merchant_BasicReporting,\n        \n        /// <remarks/>\n        Submit_Charge,\n        \n        /// <remarks/>\n        Submit_Refund,\n        \n        /// <remarks/>\n        Submit_Update,\n        \n        /// <remarks/>\n        Mobile_Admin,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum settingNameEnum {\n        \n        /// <remarks/>\n        emailCustomer,\n        \n        /// <remarks/>\n        merchantEmail,\n        \n        /// <remarks/>\n        allowPartialAuth,\n        \n        /// <remarks/>\n        headerEmailReceipt,\n        \n        /// <remarks/>\n        footerEmailReceipt,\n        \n        /// <remarks/>\n        recurringBilling,\n        \n        /// <remarks/>\n        duplicateWindow,\n        \n        /// <remarks/>\n        testRequest,\n        \n        /// <remarks/>\n        hostedProfileReturnUrl,\n        \n        /// <remarks/>\n        hostedProfileReturnUrlText,\n        \n        /// <remarks/>\n        hostedProfilePageBorderVisible,\n        \n        /// <remarks/>\n        hostedProfileIFrameCommunicatorUrl,\n        \n        /// <remarks/>\n        hostedProfileHeadingBgColor,\n        \n        /// <remarks/>\n        hostedProfileValidationMode,\n        \n        /// <remarks/>\n        hostedProfileBillingAddressRequired,\n        \n        /// <remarks/>\n        hostedProfileCardCodeRequired,\n        \n        /// <remarks/>\n        hostedProfileBillingAddressOptions,\n        \n        /// <remarks/>\n        hostedProfileManageOptions,\n        \n        /// <remarks/>\n        hostedPaymentIFrameCommunicatorUrl,\n        \n        /// <remarks/>\n        hostedPaymentButtonOptions,\n        \n        /// <remarks/>\n        hostedPaymentReturnOptions,\n        \n        /// <remarks/>\n        hostedPaymentOrderOptions,\n        \n        /// <remarks/>\n        hostedPaymentPaymentOptions,\n        \n        /// <remarks/>\n        hostedPaymentBillingAddressOptions,\n        \n        /// <remarks/>\n        hostedPaymentShippingAddressOptions,\n        \n        /// <remarks/>\n        hostedPaymentSecurityOptions,\n        \n        /// <remarks/>\n        hostedPaymentCustomerOptions,\n        \n        /// <remarks/>\n        hostedPaymentStyleOptions,\n        \n        /// <remarks/>\n        typeEmailReceipt,\n        \n        /// <remarks/>\n        hostedProfilePaymentOptions,\n        \n        /// <remarks/>\n        hostedProfileSaveButtonText,\n        \n        /// <remarks/>\n        hostedPaymentVisaCheckoutOptions,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum settlementStateEnum {\n        \n        /// <remarks/>\n        settledSuccessfully,\n        \n        /// <remarks/>\n        settlementError,\n        \n        /// <remarks/>\n        pendingSettlement,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum transactionStatusEnum {\n        \n        /// <remarks/>\n        authorizedPendingCapture,\n        \n        /// <remarks/>\n        capturedPendingSettlement,\n        \n        /// <remarks/>\n        communicationError,\n        \n        /// <remarks/>\n        refundSettledSuccessfully,\n        \n        /// <remarks/>\n        refundPendingSettlement,\n        \n        /// <remarks/>\n        approvedReview,\n        \n        /// <remarks/>\n        declined,\n        \n        /// <remarks/>\n        couldNotVoid,\n        \n        /// <remarks/>\n        expired,\n        \n        /// <remarks/>\n        generalError,\n        \n        /// <remarks/>\n        pendingFinalSettlement,\n        \n        /// <remarks/>\n        pendingSettlement,\n        \n        /// <remarks/>\n        failedReview,\n        \n        /// <remarks/>\n        settledSuccessfully,\n        \n        /// <remarks/>\n        settlementError,\n        \n        /// <remarks/>\n        underReview,\n        \n        /// <remarks/>\n        updatingSettlement,\n        \n        /// <remarks/>\n        voided,\n        \n        /// <remarks/>\n        FDSPendingReview,\n        \n        /// <remarks/>\n        FDSAuthorizedPendingReview,\n        \n        /// <remarks/>\n        returnedItem,\n        \n        /// <remarks/>\n        chargeback,\n        \n        /// <remarks/>\n        chargebackReversal,\n        \n        /// <remarks/>\n        authorizedPendingRelease,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum transactionTypeEnum {\n        \n        /// <remarks/>\n        authOnlyTransaction,\n        \n        /// <remarks/>\n        authCaptureTransaction,\n        \n        /// <remarks/>\n        captureOnlyTransaction,\n        \n        /// <remarks/>\n        refundTransaction,\n        \n        /// <remarks/>\n        priorAuthCaptureTransaction,\n        \n        /// <remarks/>\n        voidTransaction,\n        \n        /// <remarks/>\n        getDetailsTransaction,\n        \n        /// <remarks/>\n        authOnlyContinueTransaction,\n        \n        /// <remarks/>\n        authCaptureContinueTransaction,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerPaymentProfileListRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public CustomerPaymentProfileSearchTypeEnum searchType;\n        \n        /// <remarks/>\n        public string month;\n        \n        /// <remarks/>\n        public CustomerPaymentProfileSorting sorting;\n        \n        /// <remarks/>\n        public Paging paging;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum CustomerPaymentProfileSearchTypeEnum {\n        \n        /// <remarks/>\n        cardsExpiringInMonth,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerPaymentProfileListResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public int totalNumInResultSet;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"paymentProfile\")]\n        public customerPaymentProfileListItemType[] paymentProfiles;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBGetSubscriptionRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string subscriptionId;\n        \n        /// <remarks/>\n        public bool includeTransactions;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool includeTransactionsSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBGetSubscriptionResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public ARBSubscriptionMaskedType subscription;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getTransactionListForCustomerRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public TransactionListSorting sorting;\n        \n        /// <remarks/>\n        public Paging paging;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getAUJobSummaryRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string month;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getAUJobSummaryResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"auResponse\", IsNullable=false)]\n        public auResponseType[] auSummary;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getAUJobDetailsRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string month;\n        \n        /// <remarks/>\n        public AUJobTypeEnum modifiedTypeFilter;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool modifiedTypeFilterSpecified;\n        \n        /// <remarks/>\n        public Paging paging;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum AUJobTypeEnum {\n        \n        /// <remarks/>\n        all,\n        \n        /// <remarks/>\n        updates,\n        \n        /// <remarks/>\n        deletes,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getAUJobDetailsResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public int totalNumInResultSet;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool totalNumInResultSetSpecified;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"auDelete\", typeof(auDeleteType), IsNullable=false)]\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"auUpdate\", typeof(auUpdateType), IsNullable=false)]\n        public auDetailsType[] auDetails;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getMerchantDetailsRequest : ANetApiRequest {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getMerchantDetailsResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public bool isTestMode;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool isTestModeSpecified;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"processor\")]\n        public processorType[] processors;\n        \n        /// <remarks/>\n        public string merchantName;\n        \n        /// <remarks/>\n        public string gatewayId;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"marketType\")]\n        public string[] marketTypes;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"productCode\")]\n        public string[] productCodes;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"paymentMethod\")]\n        public System.Nullable<paymentMethodsTypeEnum>[] paymentMethods;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"currency\")]\n        public string[] currencies;\n        \n        /// <remarks/>\n        public string publicClientKey;\n        \n        /// <remarks/>\n        public customerAddressType businessInformation;\n        \n        /// <remarks/>\n        public string merchantTimeZone;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"contactDetail\", IsNullable=false)]\n        public ContactDetailType[] contactDetails;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum paymentMethodsTypeEnum {\n        \n        /// <remarks/>\n        Visa,\n        \n        /// <remarks/>\n        MasterCard,\n        \n        /// <remarks/>\n        Discover,\n        \n        /// <remarks/>\n        AmericanExpress,\n        \n        /// <remarks/>\n        DinersClub,\n        \n        /// <remarks/>\n        JCB,\n        \n        /// <remarks/>\n        EnRoute,\n        \n        /// <remarks/>\n        Echeck,\n        \n        /// <remarks/>\n        Paypal,\n        \n        /// <remarks/>\n        VisaCheckout,\n        \n        /// <remarks/>\n        ApplePay,\n        \n        /// <remarks/>\n        AndroidPay,\n        \n        /// <remarks/>\n        GooglePay,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateMerchantDetailsRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public bool isTestMode;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateMerchantDetailsResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerPaymentProfileNonceRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string connectedAccessToken;\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerPaymentProfileNonceResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public opaqueDataType opaqueData;\n    }\n}\n"
  },
  {
    "path": "Authorize.NET/Api/Contracts/V1/RequestFactoryWithSpecified.cs",
    "content": "﻿namespace AuthorizeNet.Api.Contracts.V1\n{\n    using System;\n#pragma warning disable 169\n#pragma warning disable 1591\n    // ReSharper disable InconsistentNaming \n    /// <summary> \n    /// Special case handlers \n    /// \n    /// validated on ????/??/?? for objects listed at the end \n    /// should be validated after each update of AnetApiSchema.cs \n    /// for fields/properties that are minOccurs=\"0\" since xsd.exe \n    /// generates \"specified\" property for such fields and requires \n    /// special handling to set them seamlessly \n    /// Make sure to update the respective controllers to call the respective request hand \n    ///  \n    /// </summary> \n    public static class RequestFactoryWithSpecified\n    {\n        public static void decryptPaymentDataRequest(decryptPaymentDataRequest argument)\n        {\n            if (null != argument)\n            {\n                opaqueDataType(argument.opaqueData);\n            }\n        }\n        public static void opaqueDataType(opaqueDataType argument)\n        {\n            if (null != argument)\n            {\n                if (argument.expirationTimeStamp!=null) { argument.expirationTimeStampSpecified = true; }\n            }\n        }\n        \n        public static void processorType(processorType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n\n        public static void customerPaymentProfileListItemType(customerPaymentProfileListItemType argument)\n        {\n            if (null != argument)\n            {\n                if(argument.defaultPaymentProfile) { argument.defaultPaymentProfileSpecified=true; }\n                customerAddressType(argument.billTo);\n                paymentMaskedType(argument.payment);\n                if(argument.excludeFromAccountUpdater) { argument.excludeFromAccountUpdaterSpecified=true; }\n            }\n        }\n\n        public static void CustomerPaymentProfileSorting(CustomerPaymentProfileSorting argument)\n        {\n            if (null != argument)\n            {\n                //(argument.orderDescending);\n            }\n        }\n\n        public static void ARBSubscriptionMaskedType(ARBSubscriptionMaskedType argument)\n        {\n            if (null != argument)\n            {\n                paymentScheduleType(argument.paymentSchedule);\n                if (0 <= argument.amount) { argument.amountSpecified = true; }\n                if (0 <= argument.trialAmount) { argument.trialAmountSpecified = true; }\n                if (0 <= argument.status) { argument.statusSpecified = true; }\n                subscriptionCustomerProfileType(argument.profile);\n                orderType(argument.order);\n            }\n        }\n\n        public static void subscriptionCustomerProfileType(subscriptionCustomerProfileType argument)\n        {\n            if (null != argument)\n            {\n                customerProfileExType(argument);\n                customerPaymentProfileMaskedType(argument.paymentProfile);\n                customerAddressExType(argument.shippingProfile);\n            }\n        }\n\n        public static void paymentSimpleType(paymentSimpleType argument)\n        {\n            if (null != argument)\n            {\n                if (argument.Item is bankAccountType) { bankAccountType(argument.Item as bankAccountType); }\n                if (argument.Item is creditCardSimpleType) { creditCardSimpleType(argument.Item as creditCardSimpleType); }\n            }\n        }\n        public static void bankAccountType(bankAccountType argument)\n        {\n            if (null != argument)\n            {\n                if (0 <= (int)argument.accountType) { argument.accountTypeSpecified = true; }\n                if (0 <= (int)argument.echeckType) { argument.echeckTypeSpecified = true; }\n            }\n        }\n        public static void creditCardSimpleType(creditCardSimpleType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void creditCardType(creditCardType argument)\n        {\n            if (null != argument)\n            {\n                creditCardSimpleType(argument);\n                if (argument.isPaymentToken) { argument.isPaymentTokenSpecified = true; }\n            }\n        }\n        public static void customerProfileSummaryType(customerProfileSummaryType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void SubscriptionDetail(SubscriptionDetail argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void Paging(Paging argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        \n        public static void TransactionListSorting(TransactionListSorting argument) \n        {\n            if(null != argument) \n            {\n                //(argument.orderDescending);\n            }\n        }\n        public static void heldTransactionRequestType(heldTransactionRequestType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        \n        public static void ARBGetSubscriptionListSorting(ARBGetSubscriptionListSorting argument)\n        {\n            if (null != argument)\n            {\n\n            }\n        }\n        public static void permissionType(permissionType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void merchantContactType(merchantContactType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void mobileDeviceType(mobileDeviceType argument)\n        {\n            if (null != argument)\n            {\n                if (0 <= (int)argument.deviceActivation) { argument.deviceActivationSpecified = true; }\n            }\n        }\n        public static void transactionSummaryType(transactionSummaryType argument)\n        {\n            if (null != argument)\n            {\n                subscriptionPaymentType(argument.subscription);\n                if (argument.hasReturnedItems) { argument.hasReturnedItemsSpecified = true; }\n                fraudInformationType(argument.fraudInformation); \n                customerProfileIdType(argument.profile);\n            }\n        }\n        public static void subscriptionPaymentType(subscriptionPaymentType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void createProfileResponse(createProfileResponse argument)\n        {\n            if (null != argument)\n            {\n                messagesType(argument.messages);\n            }\n        }\n        public static void messagesType(messagesType argument)\n        {\n            if (null != argument)\n            {\n                if (null != argument.message) { foreach (var value in argument.message) { messagesTypeMessage(value); } }\n            }\n        }\n        public static void messagesTypeMessage(messagesTypeMessage argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void ArrayOfSetting(ArrayOfSetting argument)\n        {\n            if (null != argument)\n            {\n                if (null != argument.setting) { foreach (var value in argument.setting) { settingType(value); } }\n            }\n        }\n        public static void settingType(settingType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void subMerchantType(subMerchantType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void emailSettingsType(emailSettingsType argument)\n        {\n            if (null != argument)\n            {\n                ArrayOfSetting(argument);\n            }\n        }\n        \n        public static void fraudInformationType(fraudInformationType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        \n        public static void transRetailInfoType(transRetailInfoType argument)\n        {\n            if (null != argument)\n            {\n        //marketType should not be assigned here    \n                //argument.marketType = \"2\";\n            }\n        }\n        public static void ccAuthenticationType(ccAuthenticationType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void paymentProfile(paymentProfile argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void customerProfilePaymentType(customerProfilePaymentType argument)\n        {\n            if (null != argument)\n            {\n                if (argument.createProfile) { argument.createProfileSpecified = true; }\n                paymentProfile(argument.paymentProfile);\n            }\n        }\n        public static void transactionRequestType(transactionRequestType argument)\n        {\n            if (null != argument)\n            {\n                if (0 <= argument.amount) { argument.amountSpecified = true; }\n                paymentType(argument.payment);\n                customerProfilePaymentType(argument.profile);\n                solutionType(argument.solution);\n                orderType(argument.order);\n                if (null != argument.lineItems) { foreach (var value in argument.lineItems) { lineItemType(value); } }\n                extendedAmountType(argument.tax);\n                extendedAmountType(argument.duty);\n                extendedAmountType(argument.shipping);\n                if (argument.taxExempt) { argument.taxExemptSpecified = true; }\n                customerDataType(argument.customer);\n                customerAddressType(argument.billTo);\n                nameAndAddressType(argument.shipTo);\n                ccAuthenticationType(argument.cardholderAuthentication);\n                transRetailInfoType(argument.retail);\n                if (null != argument.transactionSettings) { foreach (var value in argument.transactionSettings) { settingType(value); } }\n                if (null != argument.userFields) { foreach (var value in argument.userFields) { userField(value); } }\n                extendedAmountType(argument.surcharge);\n                subMerchantType(argument.subMerchant);\n                extendedAmountType(argument.tip);\n                processingOptions(argument.processingOptions);\n                subsequentAuthInformation(argument.subsequentAuthInformation);\n                otherTaxType(argument.otherTax);\n                nameAndAddressType(argument.shipFrom);\n                authorizationIndicatorType(argument.authorizationIndicatorType);\n            }\n        }\n        public static void paymentType(paymentType argument)\n        {\n            if (null != argument)\n            {\n                if (argument.Item is bankAccountType) { bankAccountType(argument.Item as bankAccountType); }\n                if (argument.Item is creditCardType) { creditCardType(argument.Item as creditCardType); }\n                if (argument.Item is encryptedTrackDataType)\n                {\n                    encryptedTrackDataType(argument.Item as encryptedTrackDataType);\n                }\n                \n                if (argument.Item is paymentEmvType) { paymentEmvType(argument.Item as paymentEmvType); }\n                if (argument.Item is opaqueDataType) { opaqueDataType(argument.Item as opaqueDataType); }\n                if (argument.Item is payPalType) { payPalType(argument.Item as payPalType); }\n                if (argument.Item is creditCardTrackType) { creditCardTrackType(argument.Item as creditCardTrackType); }\n            }\n        }\n        public static void encryptedTrackDataType(encryptedTrackDataType argument)\n        {\n            if (null != argument)\n            {\n                KeyBlock(argument.FormOfPayment);\n            }\n        }\n        \n        public static void paymentEmvType(paymentEmvType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        \n        public static void KeyBlock(KeyBlock argument)\n        {\n            if (null != argument)\n            {\n                KeyValue(argument.Value);\n            }\n        }\n        public static void KeyValue(KeyValue argument)\n        {\n            if (null != argument)\n            {\n                KeyManagementScheme(argument.Scheme);\n            }\n        }\n        public static void KeyManagementScheme(KeyManagementScheme argument)\n        {\n            if (null != argument)\n            {\n                KeyManagementSchemeDUKPT(argument.DUKPT);\n            }\n        }\n        public static void KeyManagementSchemeDUKPT(KeyManagementSchemeDUKPT argument)\n        {\n            if (null != argument)\n            {\n                KeyManagementSchemeDUKPTMode(argument.Mode);\n                KeyManagementSchemeDUKPTDeviceInfo(argument.DeviceInfo);\n                KeyManagementSchemeDUKPTEncryptedData(argument.EncryptedData);\n            }\n        }\n        public static void KeyManagementSchemeDUKPTMode(KeyManagementSchemeDUKPTMode argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void KeyManagementSchemeDUKPTDeviceInfo(KeyManagementSchemeDUKPTDeviceInfo argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void KeyManagementSchemeDUKPTEncryptedData(KeyManagementSchemeDUKPTEncryptedData argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void payPalType(payPalType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void creditCardTrackType(creditCardTrackType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void solutionType(solutionType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void orderType(orderType argument)\n        {\n            if (null != argument)\n            {\n                if (argument.discountAmount >= 0) { argument.discountAmountSpecified = true; }\n                if (argument.taxIsAfterDiscount) { argument.taxIsAfterDiscountSpecified = true; }\n                if (DateTime.MinValue != argument.purchaseOrderDateUTC) { argument.purchaseOrderDateUTCSpecified = true; }\n            }\n        }\n        public static void orderExType(orderExType argument)\n        {\n            if (null != argument)\n            {\n                orderType(argument);\n            }\n        }\n        public static void lineItemType(lineItemType argument)\n        {\n            if (null != argument)\n            {\n                if (argument.taxable) { argument.taxableSpecified = true;\n                if (argument.taxRate >= 0) { argument.taxRateSpecified = true; }\n                if (argument.taxAmount >= 0) { argument.taxAmountSpecified = true; }\n                if (argument.nationalTax>=0) { argument.nationalTaxSpecified = true; }\n                if (argument.localTax>=0) { argument.localTaxSpecified = true; }\n                if (argument.vatRate>=0) { argument.vatRateSpecified = true; }\n                if (argument.alternateTaxRate>=0) { argument.alternateTaxRateSpecified = true; }\n                if (argument.alternateTaxAmount>=0) { argument.alternateTaxAmountSpecified = true; }\n                if (argument.totalAmount>=0) { argument.totalAmountSpecified = true; }\n                if (argument.discountRate >=0) { argument.discountRateSpecified = true; }\n                if (argument.discountAmount>= 0) { argument.discountAmountSpecified = true; }\n                if (argument.taxIncludedInTotal) { argument.taxIncludedInTotalSpecified = true; }\n                if (argument.taxIsAfterDiscount) { argument.taxIsAfterDiscountSpecified = true; }\n                }\n            }\n        }\n        public static void extendedAmountType(extendedAmountType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void customerDataType(customerDataType argument)\n        {\n            if (null != argument)\n            {\n                if (0 <= (int)argument.type) { argument.typeSpecified = true; }\n                driversLicenseType(argument.driversLicense);\n            }\n        }\n        public static void driversLicenseType(driversLicenseType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void customerAddressType(customerAddressType argument)\n        {\n            if (null != argument)\n            {\n                nameAndAddressType(argument);\n            }\n        }\n        public static void nameAndAddressType(nameAndAddressType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void customerAddressExType(customerAddressExType argument)\n        {\n            if (null != argument)\n            {\n                customerAddressType(argument);\n            }\n        }\n        public static void userField(userField argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void returnedItemType(returnedItemType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void batchStatisticType(batchStatisticType argument)\n        {\n            if (null != argument)\n            {\n                if (0 <= argument.returnedItemAmount) { argument.returnedItemAmountSpecified = true; }\n                if (0 <= argument.returnedItemCount) { argument.returnedItemCountSpecified = true; }\n                if (0 <= argument.chargebackAmount) { argument.chargebackAmountSpecified = true; }\n                if (0 <= argument.chargebackCount) { argument.chargebackCountSpecified = true; }\n                if (0 <= argument.correctionNoticeCount) { argument.correctionNoticeCountSpecified = true; }\n                if (0 <= argument.chargeChargeBackAmount) { argument.chargeChargeBackAmountSpecified = true; }\n                if (0 <= argument.chargeChargeBackCount) { argument.chargeChargeBackCountSpecified = true; }\n                if (0 <= argument.refundChargeBackAmount) { argument.refundChargeBackAmountSpecified = true; }\n                if (0 <= argument.refundChargeBackCount) { argument.refundChargeBackCountSpecified = true; }\n                if (0 <= argument.chargeReturnedItemsAmount) { argument.chargeReturnedItemsAmountSpecified = true; }\n                if (0 <= argument.chargeReturnedItemsCount) { argument.chargeReturnedItemsCountSpecified = true; }\n                if (0 <= argument.refundReturnedItemsAmount) { argument.refundReturnedItemsAmountSpecified = true; }\n                if (0 <= argument.refundReturnedItemsCount) { argument.refundReturnedItemsCountSpecified = true; }\n            }\n        }\n        public static void batchDetailsType(batchDetailsType argument)\n        {\n            if (null != argument)\n            {\n                if (DateTime.MinValue != argument.settlementTimeUTC) { argument.settlementTimeUTCSpecified = true; }\n                if (DateTime.MinValue != argument.settlementTimeLocal) { argument.settlementTimeLocalSpecified = true; }\n                if (null != argument.statistics) { foreach (var value in argument.statistics) { batchStatisticType(value); } }\n            }\n        }\n        public static void FDSFilterType(FDSFilterType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n\n        public static void transactionDetailsTypeTag(transactionDetailsTypeTag argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n\n        public static void otherTaxType(otherTaxType argument)\n        {\n            if (null != argument)\n            {\n                if (argument.nationalTaxAmount>=0) { argument.nationalTaxAmountSpecified = true; }\n                if (argument.localTaxAmount >= 0) { argument.localTaxAmountSpecified = true; }\n                if (argument.alternateTaxAmount >= 0) { argument.alternateTaxAmountSpecified = true; }\n                if (argument.vatTaxRate >= 0) { argument.vatTaxRateSpecified = true; }\n                if (argument.vatTaxAmount >= 0) { argument.vatTaxAmountSpecified = true; }\n            }\n        }\n        public static void transactionDetailsType(transactionDetailsType argument)\n        {\n            if (null != argument)\n            {\n                subscriptionPaymentType(argument.subscription);\n                if (null != argument.FDSFilters) { foreach (var value in argument.FDSFilters) { FDSFilterType(value); } }\n                batchDetailsType(argument.batch);\n                orderExType(argument.order);\n                if (0 <= argument.requestedAmount) { argument.requestedAmountSpecified = true; }\n                extendedAmountType(argument.tax);\n                extendedAmountType(argument.shipping);\n                extendedAmountType(argument.duty);\n                if (null != argument.lineItems) { foreach (var value in argument.lineItems) { lineItemType(value); } }\n                if (0 <= argument.prepaidBalanceRemaining) { argument.prepaidBalanceRemainingSpecified = true; }\n                if (argument.taxExempt) { argument.taxExemptSpecified = true; }\n                paymentMaskedType(argument.payment);\n                customerDataType(argument.customer);\n                customerAddressType(argument.billTo);\n                nameAndAddressType(argument.shipTo);\n                if (argument.recurringBilling) { argument.recurringBillingSpecified = true; }\n                if (null != argument.returnedItems) { foreach (var value in argument.returnedItems) { returnedItemType(value); } }\n                solutionType(argument.solution);\n\n                if(null != argument.emvDetails){ foreach( var value in argument.emvDetails) { transactionDetailsTypeTag(value); } } \n                \n                customerProfileIdType(argument.profile);\n                extendedAmountType(argument.surcharge);\n                extendedAmountType(argument.tip);\n                otherTaxType(argument.otherTax);\n                nameAndAddressType(argument.shipFrom);\n            }\n        }\n        public static void paymentMaskedType(paymentMaskedType argument)\n        {\n            if (null != argument)\n            {\n                if (argument.Item is bankAccountMaskedType) { bankAccountMaskedType(argument.Item as bankAccountMaskedType); }\n                if (argument.Item is creditCardMaskedType) { creditCardMaskedType(argument.Item as creditCardMaskedType); }\n                if (argument.Item is tokenMaskedType)\n                {\n                    tokenMaskedType(argument.Item as tokenMaskedType);\n                }\n\n            }\n\n\n        }\n        public static void bankAccountMaskedType(bankAccountMaskedType argument)\n        {\n            if (null != argument)\n            {\n                if (0 <= argument.accountType) { argument.accountTypeSpecified = true; }\n                if (0 <= argument.echeckType) { argument.echeckTypeSpecified = true; }\n            }\n        }\n        public static void creditCardMaskedType(creditCardMaskedType argument)\n        {\n            if (null != argument)\n            {\n                cardArt(argument.cardArt);\n                if(argument.isPaymentToken) { argument.isPaymentTokenSpecified=true; }\n            }\n        }\n        public static void cardArt(cardArt argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void tokenMaskedType(tokenMaskedType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void transactionResponse(transactionResponse argument)\n        {\n            if (null != argument)\n            {\n                transactionResponsePrePaidCard(argument.prePaidCard);\n                if (null != argument.messages) { foreach (var value in argument.messages) { transactionResponseMessage(value); } }\n                if (null != argument.errors) { foreach (var value in argument.errors) { transactionResponseError(value); } }\n                if (null != argument.splitTenderPayments) { foreach (var value in argument.splitTenderPayments) { transactionResponseSplitTenderPayment(value); } }\n                if (null != argument.userFields) { foreach (var value in argument.userFields) { userField(value); } }\n                nameAndAddressType(argument.shipTo);\n                transactionResponseSecureAcceptance(argument.secureAcceptance);\n                transactionResponseEmvResponse(argument.emvResponse);\n                customerProfileIdType(argument.profile);                \n            }\n        }\n\n        public static void transactionResponseEmvResponse(transactionResponseEmvResponse argument)\n        {\n            if (null != argument)\n            {\n                if (null != argument.tags) { foreach (var value in argument.tags) { emvTag(value); } }\n            }\n        }\n\n        public static void transactionResponsePrePaidCard(transactionResponsePrePaidCard argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void transactionResponseMessage(transactionResponseMessage argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void transactionResponseError(transactionResponseError argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void transactionResponseSplitTenderPayment(transactionResponseSplitTenderPayment argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void transactionResponseSecureAcceptance(transactionResponseSecureAcceptance argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void profileTransVoidType(profileTransVoidType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void profileTransAmountType(profileTransAmountType argument)\n        {\n            if (null != argument)\n            {\n                extendedAmountType(argument.tax);\n                extendedAmountType(argument.shipping);\n                extendedAmountType(argument.duty);\n                if (null != argument.lineItems) { foreach (var value in argument.lineItems) { lineItemType(value); } }\n            }\n        }\n        public static void profileTransRefundType(profileTransRefundType argument)\n        {\n            if (null != argument)\n            {\n                profileTransAmountType(argument);\n                orderExType(argument.order);\n            }\n        }\n        public static void profileTransPriorAuthCaptureType(profileTransPriorAuthCaptureType argument)\n        {\n            if (null != argument)\n            {\n                profileTransAmountType(argument);\n            }\n        }\n        public static void profileTransOrderType(profileTransOrderType argument)\n        {\n            if (null != argument)\n            {\n                profileTransAmountType(argument);\n                orderExType(argument.order);\n                if (argument.taxExempt) { argument.taxExemptSpecified = true; }\n                if (argument.recurringBilling) { argument.recurringBillingSpecified = true;\n                    processingOptions(argument.processingOptions);\n                    subsequentAuthInformation(argument.subsequentAuthInformation);\n                    authorizationIndicatorType(argument.authorizationIndicatorType);\n                }\n            }\n        }\n        public static void processingOptions(processingOptions argument)\n        {\n            if (null != argument)\n            {\n                if (argument.isFirstRecurringPayment) { argument.isFirstRecurringPaymentSpecified = true; }\n                if (argument.isFirstSubsequentAuth) { argument.isFirstSubsequentAuthSpecified = true; }\n                if (argument.isSubsequentAuth) { argument.isSubsequentAuthSpecified = true; }\n                if (argument.isStoredCredentials) { argument.isStoredCredentialsSpecified = true; }\n            }\n        }\n        public static void subsequentAuthInformation(subsequentAuthInformation argument)\n        {\n            if (null != argument)\n            {\n                if (0 <= argument.reason) { argument.reasonSpecified = true; }\n            }\n        }\n        public static void authorizationIndicatorType(authorizationIndicatorType argument) \n        {\n            if(null != argument) \n            {\n                \n            }\n        }\n        public static void profileTransCaptureOnlyType(profileTransCaptureOnlyType argument)\n        {\n            if (null != argument)\n            {\n                profileTransOrderType(argument);\n            }\n        }\n        public static void profileTransAuthOnlyType(profileTransAuthOnlyType argument)\n        {\n            if (null != argument)\n            {\n                profileTransOrderType(argument);\n            }\n        }\n        public static void profileTransAuthCaptureType(profileTransAuthCaptureType argument)\n        {\n            if (null != argument)\n            {\n                profileTransOrderType(argument);\n            }\n        }\n        public static void profileTransactionType(profileTransactionType argument)\n        {\n            if (null != argument)\n            {\n                if (argument.Item is profileTransAuthCaptureType) { profileTransAuthCaptureType(argument.Item as profileTransAuthCaptureType); }\n                if (argument.Item is profileTransAuthOnlyType) { profileTransAuthOnlyType(argument.Item as profileTransAuthOnlyType); }\n                if (argument.Item is profileTransCaptureOnlyType) { profileTransCaptureOnlyType(argument.Item as profileTransCaptureOnlyType); }\n                if (argument.Item is profileTransPriorAuthCaptureType) { profileTransPriorAuthCaptureType(argument.Item as profileTransPriorAuthCaptureType); }\n                if (argument.Item is profileTransRefundType) { profileTransRefundType(argument.Item as profileTransRefundType); }\n                if (argument.Item is profileTransVoidType) { profileTransVoidType(argument.Item as profileTransVoidType); }\n            }\n        }\n        public static void driversLicenseMaskedType(driversLicenseMaskedType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void customerPaymentProfileBaseType(customerPaymentProfileBaseType argument)\n        {\n            if (null != argument)\n            {\n                if (0 <= argument.customerType) { argument.customerTypeSpecified = true; }\n                customerAddressType(argument.billTo);\n            }\n        }\n        public static void customerPaymentProfileMaskedType(customerPaymentProfileMaskedType argument)\n        {\n            if (null != argument)\n            {\n                customerPaymentProfileBaseType(argument);\n                if(argument.defaultPaymentProfile) { argument.defaultPaymentProfileSpecified=true; }\n                paymentMaskedType(argument.payment);\n                driversLicenseMaskedType(argument.driversLicense);\n                if(argument.excludeFromAccountUpdater) { argument.excludeFromAccountUpdaterSpecified=true; }\n            }\n        }\n        public static void customerPaymentProfileType(customerPaymentProfileType argument)\n        {\n            if (null != argument)\n            {\n                customerPaymentProfileBaseType(argument);\n                paymentType(argument.payment);\n                driversLicenseType(argument.driversLicense);\n                if(argument.defaultPaymentProfile) { argument.defaultPaymentProfileSpecified=true; }\n                subsequentAuthInformation(argument.subsequentAuthInformation);\n                if(argument.excludeFromAccountUpdater) { argument.excludeFromAccountUpdaterSpecified=true; }\n            }\n        }\n        public static void customerPaymentProfileExType(customerPaymentProfileExType argument)\n        {\n            if (null != argument)\n            {\n                customerPaymentProfileType(argument);\n            }\n        }\n        public static void customerProfileBaseType(customerProfileBaseType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void customerProfileExType(customerProfileExType argument)\n        {\n            if (null != argument)\n            {\n                customerProfileBaseType(argument);\n            }\n        }\n        public static void customerProfileMaskedType(customerProfileMaskedType argument)\n        {\n            if (null != argument)\n            {\n                customerProfileExType(argument);\n                if (null != argument.paymentProfiles) { foreach (var value in argument.paymentProfiles) { customerPaymentProfileMaskedType(value); } }\n                if (null != argument.shipToList) { foreach (var value in argument.shipToList) { customerAddressExType(value); } }\n                if(0 <= argument.profileType) { argument.profileTypeSpecified=true; }\n            }\n        }\n        public static void customerProfileInfoExType(customerProfileInfoExType argument) \n        {\n            if(null != argument) \n            {\n                customerProfileExType (argument);\n                if(0 <= argument.profileType) { argument.profileTypeSpecified=true; }\n            }\n        }\n        public static void customerProfileType(customerProfileType argument)\n        {\n            if (null != argument)\n            {\n                customerProfileBaseType(argument);\n                if (null != argument.paymentProfiles) { foreach (var value in argument.paymentProfiles) { customerPaymentProfileType(value); } }\n                if (null != argument.shipToList) { foreach (var value in argument.shipToList) { customerAddressType(value); } }\n                if(0 <= argument.profileType) { argument.profileTypeSpecified=true; }\n            }\n        }\n        public static void ContactDetailType(ContactDetailType argument)\n        {\n            \n        }\n        public static void securePaymentContainerErrorType(securePaymentContainerErrorType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void customerType(customerType argument)\n        {\n            if (null != argument)\n            {\n                if (0 <= argument.type) { argument.typeSpecified = true; }\n                driversLicenseType(argument.driversLicense);\n            }\n        }\n        public static void paymentScheduleType(paymentScheduleType argument)\n        {\n            if (null != argument)\n            {\n                paymentScheduleTypeInterval(argument.interval);\n                if (DateTime.MinValue != argument.startDate) { argument.startDateSpecified = true; }\n                if (0 <= argument.totalOccurrences) { argument.totalOccurrencesSpecified = true; }\n                if (0 <= argument.trialOccurrences) { argument.trialOccurrencesSpecified = true; }\n            }\n        }\n\n        public static void paymentScheduleTypeInterval(paymentScheduleTypeInterval argument)\n        {\n            \n        }\n\n        public static void customerProfileIdType(customerProfileIdType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n\n        public static void ARBSubscriptionType(ARBSubscriptionType argument)\n        {\n            if (null != argument)\n            {\n                paymentScheduleType(argument.paymentSchedule);\n                if (0 < argument.amount) { argument.amountSpecified = true; }\n\n                paymentType(argument.payment);\n                orderType(argument.order);\n                customerType(argument.customer);\n                nameAndAddressType(argument.billTo);\n                nameAndAddressType(argument.shipTo);\n                customerProfileIdType(argument.profile);\n            }\n        }\n\n        public static void ARBSubscriptionTypeSetTrialAmountSpecified(ARBSubscriptionType argument)\n        {\n            if (null != argument)\n            {\n                if (0 <= argument.trialAmount) { argument.trialAmountSpecified = true; }\n            }\n        }\n\n        public static void paymentDetails(paymentDetails argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void fingerPrintType(fingerPrintType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void impersonationAuthenticationType(impersonationAuthenticationType argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n\n        public static void merchantAuthenticationType(merchantAuthenticationType argument)\n        {\n            if (null != argument)\n            {\n                if (argument.Item is fingerPrintType)\n                {\n                    fingerPrintType(argument.Item as fingerPrintType);\n                }\n                if (argument.Item is impersonationAuthenticationType) { impersonationAuthenticationType(argument.Item as impersonationAuthenticationType); }\n            }\n        }\n        public static void ANetApiRequest(ANetApiRequest argument)\n        {\n            if (null != argument)\n            {\n                merchantAuthenticationType(argument.merchantAuthentication);\n            }\n        }\n        public static void decryptPaymentDataResponse(decryptPaymentDataResponse argument)\n        {\n            if (null != argument)\n            {\n                customerAddressType(argument.shippingInfo);\n                customerAddressType(argument.billingInfo);\n                creditCardMaskedType(argument.cardInfo);\n                paymentDetails(argument.paymentDetails);\n            }\n        }\n        public static void ANetApiResponse(ANetApiResponse argument)\n        {\n            if (null != argument)\n            {\n                messagesType(argument.messages);\n            }\n        }        \n        public static void securePaymentContainerRequest(securePaymentContainerRequest argument) \n        {\n            if(null != argument) \n            {\n                webCheckOutDataType(argument.data);\n            }\n        }\n        public static void securePaymentContainerResponse(securePaymentContainerResponse argument) \n        {\n            if(null != argument) \n            {\n                opaqueDataType(argument.opaqueData);\n            }\n        }\n        public static void webCheckOutDataType(webCheckOutDataType argument)\n        {\n            if (null != argument)\n            {\n                webCheckOutDataTypeToken(argument.token);\n            }\n        }\n        public static void webCheckOutDataTypeToken(webCheckOutDataTypeToken argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void isAliveRequest(isAliveRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n\n\n        // Added this method because isAliveRequest take AnetApiRequest as argument.\n        // AnetApiSchema.generated.cs - isAliveRequest is not the child class of AnetApiRequest class.\n        public static void isAliveRequest(ANetApiRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void isAliveResponse(isAliveResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void authenticateTestRequest(authenticateTestRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void authenticateTestResponse(authenticateTestResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void ARBCreateSubscriptionRequest(ARBCreateSubscriptionRequest argument)\n        {\n            if (null != argument)\n            {\n                ARBSubscriptionType(argument.subscription);\n                ARBSubscriptionTypeSetTrialAmountSpecified(argument.subscription);\n            }\n        }\n        public static void ARBCreateSubscriptionResponse(ARBCreateSubscriptionResponse argument)\n        {\n            if (null != argument)\n            {\n                customerProfileIdType(argument.profile);\n            }\n        }\n        public static void ARBUpdateSubscriptionRequest(ARBUpdateSubscriptionRequest argument)\n        {\n            if (null != argument)\n            {\n                ARBSubscriptionType(argument.subscription);\n            }\n        }\n        public static void ARBUpdateSubscriptionResponse(ARBUpdateSubscriptionResponse argument)\n        {\n            if (null != argument)\n            {\n                customerProfileIdType(argument.profile);\n            }\n        }\n        public static void ARBCancelSubscriptionRequest(ARBCancelSubscriptionRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void ARBCancelSubscriptionResponse(ARBCancelSubscriptionResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void ARBGetSubscriptionStatusRequest(ARBGetSubscriptionStatusRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void ARBGetSubscriptionStatusResponse(ARBGetSubscriptionStatusResponse argument)\n        {\n            if (null != argument)\n            {\n                if (0 <= argument.status) { argument.statusSpecified = true; }\n            }\n        }\n        public static void createCustomerProfileRequest(createCustomerProfileRequest argument)\n        {\n            if (null != argument)\n            {\n                customerProfileType(argument.profile);\n                if (0 <= argument.validationMode) { argument.validationModeSpecified = true; }\n            }\n        }\n        public static void createCustomerProfileResponse(createCustomerProfileResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void createCustomerPaymentProfileRequest(createCustomerPaymentProfileRequest argument)\n        {\n            if (null != argument)\n            {\n                customerPaymentProfileType(argument.paymentProfile);\n                if (0 <= argument.validationMode) { argument.validationModeSpecified = true; }\n            }\n        }\n        public static void createCustomerPaymentProfileResponse(createCustomerPaymentProfileResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void createCustomerShippingAddressRequest(createCustomerShippingAddressRequest argument)\n        {\n            if (null != argument)\n            {\n                customerAddressType(argument.address);\n            }\n        }\n        public static void createCustomerShippingAddressResponse(createCustomerShippingAddressResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void createCustomerProfileFromTransactionRequest(createCustomerProfileFromTransactionRequest argument)\n        {\n            if (null != argument)\n            {                \n                customerProfileBaseType(argument.customer);\n                if(argument.defaultPaymentProfile) { argument.defaultPaymentProfileSpecified=true; }\n                if(argument.defaultShippingAddress) { argument.defaultShippingAddressSpecified=true; }\n                if(0 <= argument.profileType) { argument.profileTypeSpecified=true; }\n            }\n        }\n        public static void getCustomerProfileRequest(getCustomerProfileRequest argument)\n        {\n            if (null != argument)\n            {\n                if(argument.unmaskExpirationDate) { argument.unmaskExpirationDateSpecified=true; }\n                if(argument.includeIssuerInfo) { argument.includeIssuerInfoSpecified=true; }\n\n            }\n        }\n        public static void getCustomerProfileResponse(getCustomerProfileResponse argument)\n        {\n            if (null != argument)\n            {\n                customerProfileMaskedType(argument.profile);\n            }\n        }\n        public static void getCustomerPaymentProfileRequest(getCustomerPaymentProfileRequest argument)\n        {\n            if (null != argument)\n            {\n                if(argument.includeIssuerInfo) { argument.includeIssuerInfoSpecified=true; }\n\n            }\n        }\n        public static void getCustomerPaymentProfileResponse(getCustomerPaymentProfileResponse argument)\n        {\n            if (null != argument)\n            {\n                customerPaymentProfileMaskedType(argument.paymentProfile);\n            }\n        }\n        public static void getCustomerShippingAddressRequest(getCustomerShippingAddressRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void getCustomerShippingAddressResponse(getCustomerShippingAddressResponse argument)\n        {\n            if (null != argument)\n            {\n                if(argument.defaultShippingAddress) { argument.defaultShippingAddressSpecified=true; }\n                customerAddressExType(argument.address);\n            }\n        }\n        public static void updateCustomerProfileRequest(updateCustomerProfileRequest argument)\n        {\n            if (null != argument)\n            {\n                if (null != argument.profile && argument.profile.GetType() == typeof(customerProfileInfoExType))\n                {\n                    customerProfileInfoExType((customerProfileInfoExType)argument.profile);\n                }\n                else\n                {\n                    customerProfileExType(argument.profile);\n                }\n            }\n        }\n        public static void updateCustomerProfileResponse(updateCustomerProfileResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void updateCustomerPaymentProfileRequest(updateCustomerPaymentProfileRequest argument)\n        {\n            if (null != argument)\n            {\n                customerPaymentProfileExType(argument.paymentProfile);\n                if (0 <= argument.validationMode) { argument.validationModeSpecified = true; }\n            }\n        }\n        public static void updateCustomerPaymentProfileResponse(updateCustomerPaymentProfileResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void updateCustomerShippingAddressRequest(updateCustomerShippingAddressRequest argument)\n        {\n            if (null != argument)\n            {\n                customerAddressExType(argument.address);\n                if(argument.defaultShippingAddress) { argument.defaultShippingAddressSpecified=true; }\n            }\n        }\n        public static void updateCustomerShippingAddressResponse(updateCustomerShippingAddressResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void deleteCustomerProfileRequest(deleteCustomerProfileRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void deleteCustomerProfileResponse(deleteCustomerProfileResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void deleteCustomerPaymentProfileRequest(deleteCustomerPaymentProfileRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void deleteCustomerPaymentProfileResponse(deleteCustomerPaymentProfileResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void deleteCustomerShippingAddressRequest(deleteCustomerShippingAddressRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void deleteCustomerShippingAddressResponse(deleteCustomerShippingAddressResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void createCustomerProfileTransactionRequest(createCustomerProfileTransactionRequest argument)\n        {\n            if (null != argument)\n            {\n                profileTransactionType(argument.transaction);\n            }\n        }\n        public static void createCustomerProfileTransactionResponse(createCustomerProfileTransactionResponse argument)\n        {\n            if (null != argument)\n            {\n                transactionResponse(argument.transactionResponse);\n            }\n        }\n        public static void validateCustomerPaymentProfileRequest(validateCustomerPaymentProfileRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void validateCustomerPaymentProfileResponse(validateCustomerPaymentProfileResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void getCustomerProfileIdsRequest(getCustomerProfileIdsRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void getCustomerProfileIdsResponse(getCustomerProfileIdsResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void updateSplitTenderGroupRequest(updateSplitTenderGroupRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void updateSplitTenderGroupResponse(updateSplitTenderGroupResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void getTransactionDetailsRequest(getTransactionDetailsRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void getTransactionDetailsResponse(getTransactionDetailsResponse argument)\n        {\n            if (null != argument)\n            {\n                transactionDetailsType(argument.transaction);\n            }\n        }\n        public static void createTransactionRequest(createTransactionRequest argument)\n        {\n            if (null != argument)\n            {\n                transactionRequestType(argument.transactionRequest);\n            }\n        }\n        public static void createTransactionResponse(createTransactionResponse argument)\n        {\n            if (null != argument)\n            {\n                transactionResponse(argument.transactionResponse);\n                createProfileResponse(argument.profileResponse);\n            }\n        }\n        \n        public static void updateHeldTransactionRequest(updateHeldTransactionRequest argument) \n        {\n            if(null != argument) \n            {\n                heldTransactionRequestType(argument.heldTransactionRequest);\n            }\n        }\n        public static void updateHeldTransactionResponse(updateHeldTransactionResponse argument) \n        {\n            if(null != argument) \n            {\n                transactionResponse(argument.transactionResponse);\n            }\n        }\n        \n        public static void getBatchStatisticsRequest(getBatchStatisticsRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void getBatchStatisticsResponse(getBatchStatisticsResponse argument)\n        {\n            if (null != argument)\n            {\n                batchDetailsType(argument.batch);\n            }\n        }\n        public static void getSettledBatchListRequest(getSettledBatchListRequest argument)\n        {\n            if (null != argument)\n            {\n                if (argument.includeStatistics) { argument.includeStatisticsSpecified = true; }\n                if (DateTime.MinValue != argument.firstSettlementDate) { argument.firstSettlementDateSpecified = true; }\n                if (DateTime.MinValue != argument.lastSettlementDate) { argument.lastSettlementDateSpecified = true; }\n            }\n        }\n        public static void getSettledBatchListResponse(getSettledBatchListResponse argument)\n        {\n            if (null != argument)\n            {\n                if (null != argument.batchList) { foreach (var value in argument.batchList) { batchDetailsType(value); } }\n            }\n        }\n        public static void getTransactionListRequest(getTransactionListRequest argument)\n        {\n            if (null != argument)\n            {\n                TransactionListSorting(argument.sorting);\n                Paging(argument.paging);\n            }\n        }\n        public static void getTransactionListResponse(getTransactionListResponse argument)\n        {\n            if (null != argument)\n            {\n                if (null != argument.transactions) { foreach (var value in argument.transactions) { transactionSummaryType(value); } }\n                if (0 <= argument.totalNumInResultSet) { argument.totalNumInResultSetSpecified = true; }\n            }\n        }\n        public static void getHostedProfilePageRequest(getHostedProfilePageRequest argument)\n        {\n            if (null != argument)\n            {\n                if (null != argument.hostedProfileSettings) { foreach (var value in argument.hostedProfileSettings) { settingType(value); } }\n            }\n        }\n        public static void getHostedProfilePageResponse(getHostedProfilePageResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void getUnsettledTransactionListRequest(getUnsettledTransactionListRequest argument)\n        {\n            if (null != argument)\n            {\n                if (0 <= argument.status) { argument.statusSpecified = true; }\n                TransactionListSorting(argument.sorting);\n                Paging(argument.paging);\n            }\n        }\n        \n        public static void getHostedPaymentPageRequest(getHostedPaymentPageRequest argument) \n        {\n            if(null != argument) \n            {\n                transactionRequestType(argument.transactionRequest);\n                if(null != argument.hostedPaymentSettings){ foreach( var value in argument.hostedPaymentSettings) { settingType(value); } } \n            }\n        }\n        public static void getHostedPaymentPageResponse(getHostedPaymentPageResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        \n        public static void getUnsettledTransactionListResponse(getUnsettledTransactionListResponse argument)\n        {\n            if (null != argument)\n            {\n                if (null != argument.transactions) { foreach (var value in argument.transactions) { transactionSummaryType(value); } }\n                if (0 <= argument.totalNumInResultSet) { argument.totalNumInResultSetSpecified = true; }\n            }\n        }\n        public static void mobileDeviceRegistrationRequest(mobileDeviceRegistrationRequest argument)\n        {\n            if (null != argument)\n            {\n                mobileDeviceType(argument.mobileDevice);\n            }\n        }\n        public static void mobileDeviceRegistrationResponse(mobileDeviceRegistrationResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void mobileDeviceLoginRequest(mobileDeviceLoginRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void mobileDeviceLoginResponse(mobileDeviceLoginResponse argument)\n        {\n            if (null != argument)\n            {\n                merchantContactType(argument.merchantContact);\n                if (null != argument.userPermissions) { foreach (var value in argument.userPermissions) { permissionType(value); } }\n                transRetailInfoType(argument.merchantAccount);\n            }\n        }\n        public static void logoutRequest(logoutRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void logoutResponse(logoutResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void sendCustomerTransactionReceiptRequest(sendCustomerTransactionReceiptRequest argument)\n        {\n            if (null != argument)\n            {\n                emailSettingsType(argument.emailSettings);\n            }\n        }\n        public static void sendCustomerTransactionReceiptResponse(sendCustomerTransactionReceiptResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void ARBGetSubscriptionListRequest(ARBGetSubscriptionListRequest argument)\n        {\n            if (null != argument)\n            {\n                ARBGetSubscriptionListSorting(argument.sorting);\n                Paging(argument.paging);\n            }\n        }\n        public static void ARBGetSubscriptionListResponse(ARBGetSubscriptionListResponse argument)\n        {\n            if (null != argument)\n            {\n                if (0 <= argument.totalNumInResultSet) { argument.totalNumInResultSetSpecified = true; }\n                if (null != argument.subscriptionDetails) { foreach (var value in argument.subscriptionDetails) { SubscriptionDetail(value); } }\n            }\n        }\n\n        public static void getCustomerPaymentProfileListRequest(getCustomerPaymentProfileListRequest argument)\n        {\n            if (null != argument)\n            {\n                CustomerPaymentProfileSorting(argument.sorting);\n                Paging(argument.paging);\n            }\n        }\n        public static void getCustomerPaymentProfileListResponse(getCustomerPaymentProfileListResponse argument)\n        {\n            if (null != argument)\n            {\n                if (null != argument.paymentProfiles) { foreach (var value in argument.paymentProfiles) { customerPaymentProfileListItemType(value); } }\n            }\n        }\n        public static void ARBGetSubscriptionRequest(ARBGetSubscriptionRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void ARBGetSubscriptionResponse(ARBGetSubscriptionResponse argument)\n        {\n            if (null != argument)\n            {\n                ARBSubscriptionMaskedType(argument.subscription);\n            }\n        }\n\n        public static void EnumCollection(EnumCollection argument)\n        {\n            if (null != argument)\n            {\n                customerProfileSummaryType(argument.customerProfileSummaryType);\n                paymentSimpleType(argument.paymentSimpleType);\n            }\n        }\n        \n        public static void auDetailsType(auDetailsType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void auDeleteType(auDeleteType argument) \n        {\n            if(null != argument) \n            {\n         auDetailsType (argument);\n                creditCardMaskedType(argument.creditCard);\n            }\n        }\n\n        public static void auUpdateType(auUpdateType argument) \n        {\n            if(null != argument) \n            {\n                auDetailsType (argument);\n                creditCardMaskedType(argument.newCreditCard);\n                creditCardMaskedType(argument.oldCreditCard);\n            }\n        }\n        public static void auResponseType(auResponseType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n\n        public static void emvTag(emvTag argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n\n\n        public static void getAUJobSummaryRequest(getAUJobSummaryRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void getAUJobSummaryResponse(getAUJobSummaryResponse argument) \n        {\n            if(null != argument) \n            {\n                if(null != argument.auSummary){ foreach( var value in argument.auSummary) { auResponseType(value); } } \n            }\n        }\n        public static void getAUJobDetailsRequest(getAUJobDetailsRequest argument) \n        {\n            if(null != argument) \n            {\n                if(0 <= argument.modifiedTypeFilter) { argument.modifiedTypeFilterSpecified=true; }\n                Paging(argument.paging);\n            }\n        }\n        public static void getAUJobDetailsResponse(getAUJobDetailsResponse argument) \n        {\n            if(null != argument) \n            {\n                if(0 <= argument.totalNumInResultSet) { argument.totalNumInResultSetSpecified=true; }\n                if(null != argument.auDetails){ foreach( var value in argument.auDetails) { auDetailsType(value); } } \n            }\n        }\n\n        public static void getMerchantDetailsRequest(getMerchantDetailsRequest argument) \n        {\n            \n        }\n\n        public static void getMerchantDetailsResponse(getMerchantDetailsResponse argument) \n        {\n            if(null != argument) \n            {\n                if(argument.isTestMode) { argument.isTestModeSpecified=true; }\n                if(null != argument.processors){ foreach( var value in argument.processors) { processorType(value); } }\n                customerAddressType(argument.businessInformation);\n                if (null != argument.contactDetails) { foreach (var value in argument.contactDetails) { ContactDetailType(value); } }\n            }\n        }\n        \n        public static void getTransactionListForCustomerRequest(getTransactionListForCustomerRequest argument) \n        {\n            if(null != argument) \n            {\n                TransactionListSorting(argument.sorting);\n                Paging(argument.paging);\n            }\n        }\n        public static void updateMerchantDetailsRequest(updateMerchantDetailsRequest argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void updateMerchantDetailsResponse(updateMerchantDetailsResponse argument)\n        {\n            if (null != argument)\n            {\n            }\n        }\n        public static void getCustomerPaymentProfileNonceRequest(getCustomerPaymentProfileNonceRequest argument)\n        {\n            \n        }\n        public static void getCustomerPaymentProfileNonceResponse(getCustomerPaymentProfileNonceResponse argument)\n        {\n            if (null != argument)\n            {\n                opaqueDataType(argument.opaqueData);\n            }\n        }\n    }\n    \n    \n    // ReSharper restore InconsistentNaming \n#pragma warning restore 1591\n#pragma warning restore 169\n}\n/* \nRequests \nARBCreateSubscriptionRequest  \nARBUpdateSubscriptionRequest  \ncreateCustomerPaymentProfileRequest  \ncreateCustomerProfileRequest  \ncreateCustomerProfileTransactionRequest  \ncreateTransactionRequest  \ngetSettledBatchListRequest  \nmobileDeviceRegistrationRequest  \nupdateCustomerPaymentProfileRequest  \nXXDoNotUseDummyRequest  \nECHO is off.\n */\n/* \nObjects \nECHO is off.\nARBSubscriptionType  \nbankAccountMaskedType  \nbankAccountType  \nbatchDetailsType  \nbatchStatisticType  \ncustomerDataType  \ncustomerPaymentProfileBaseType  \ncustomerPaymentProfileExType  \ncustomerPaymentProfileMaskedType  \ncustomerPaymentProfileType  \ncustomerProfileMaskedType  \ncustomerProfileType  \ncustomerType  \nlineItemType  \nmobileDeviceType  \npaymentMaskedType  \npaymentScheduleType  \npaymentSimpleType  \npaymentType  \nprofileTransactionType  \nprofileTransAmountType  \nprofileTransAuthCaptureType  \nprofileTransAuthOnlyType  \nprofileTransCaptureOnlyType  \nprofileTransOrderType  \nprofileTransPriorAuthCaptureType  \nprofileTransRefundType  \ntransactionDetailsType  \ntransactionRequestType  \ntransactionSummaryType  \nECHO is off.\n */\n"
  },
  {
    "path": "Authorize.NET/Api/Contracts/V1/RequestFactoryWithSpecified.generated.org",
    "content": "namespace AuthorizeNet.Api.Contracts.V1 \n{ \n  using System; \n#pragma warning disable 169 \n#pragma warning disable 1591 \n// ReSharper disable InconsistentNaming \n  /// <summary> \n  /// Special case handlers \n  /// \n  /// validated on ????/??/?? for objects listed at the end \n  /// should be validated after each update of AnetApiSchema.cs \n  /// for fields/properties that are minOccurs=\"0\" since xsd.exe \n  /// generates \"specified\" property for such fields and requires \n  /// special handling to set them seamlessly \n  /// Make sure to update the respective controllers to call the respective request hand \n  ///  \n  /// </summary> \n    public static class RequestFactoryWithSpecified \n    {\n            }\n        }\n        public static void decryptPaymentDataRequest(decryptPaymentDataRequest argument) \n        {\n            if(null != argument) \n            {\n                opaqueDataType(argument.opaqueData);\n            }\n        }\n        public static void opaqueDataType(opaqueDataType argument) \n        {\n            if(null != argument) \n            {\n                if(argument.expirationTimeStamp) { argument.expirationTimeStampSpecified=true;}\n            }\n        }\n        public static void processorType(processorType argument) \n        {\n            if(null != argument) \n            {\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"cardType\")]\n            }\n        }\n        public static void auDetailsType(auDetailsType argument) \n        {\n            if(null != argument) \n            {\n                long(argument.customerProfileID);\n                long(argument.customerPaymentProfileID);\n            }\n        }\n        public static void auDeleteType(auDeleteType argument) \n        {\n            if(null != argument) \n            {\n         auDetailsType (argument);\n                creditCardMaskedType(argument.creditCard);\n            }\n        }\n        public static void creditCardMaskedType(creditCardMaskedType argument) \n        {\n            if(null != argument) \n            {\n                cardArt(argument.cardArt);\n                if(argument.isPaymentToken) { argument.isPaymentTokenSpecified=true;}\n            }\n        }\n        public static void cardArt(cardArt argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void auUpdateType(auUpdateType argument) \n        {\n            if(null != argument) \n            {\n         auDetailsType (argument);\n                creditCardMaskedType(argument.newCreditCard);\n                creditCardMaskedType(argument.oldCreditCard);\n            }\n        }\n        public static void auResponseType(auResponseType argument) \n        {\n            if(null != argument) \n            {\n                long(argument.profileCount);\n            }\n        }\n        public static void customerPaymentProfileListItemType(customerPaymentProfileListItemType argument) \n        {\n            if(null != argument) \n            {\n                if(argument.defaultPaymentProfile) { argument.defaultPaymentProfileSpecified=true;}\n                customerAddressType(argument.billTo);\n                paymentMaskedType(argument.payment);\n                if(argument.originalAuthAmount) { argument.originalAuthAmountSpecified=true;}\n                if(argument.excludeFromAccountUpdater) { argument.excludeFromAccountUpdaterSpecified=true;}\n            }\n        }\n        public static void customerAddressType(customerAddressType argument) \n        {\n            if(null != argument) \n            {\n         nameAndAddressType (argument);\n            }\n        }\n        public static void nameAndAddressType(nameAndAddressType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void customerAddressExType(customerAddressExType argument) \n        {\n            if(null != argument) \n            {\n         customerAddressType (argument);\n            }\n        }\n        public static void paymentMaskedType(paymentMaskedType argument) \n        {\n            if(null != argument) \n            {\n                        bankAccountMaskedType(argument);\n                        creditCardMaskedType(argument);\n                        tokenMaskedType(argument);\n            }\n        }\n        public static void bankAccountMaskedType(bankAccountMaskedType argument) \n        {\n            if(null != argument) \n            {\n                if(argument.accountType) { argument.accountTypeSpecified=true;}\n                if(argument.echeckType) { argument.echeckTypeSpecified=true;}\n            }\n        }\n        public static void tokenMaskedType(tokenMaskedType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void CustomerPaymentProfileSorting(CustomerPaymentProfileSorting argument) \n        {\n            if(null != argument) \n            {\n                (argument.orderDescending);\n            }\n        }\n        public static void customerProfileSummaryType(customerProfileSummaryType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void SubscriptionDetail(SubscriptionDetail argument) \n        {\n            if(null != argument) \n            {\n                if(argument.customerShippingProfileId) { argument.customerShippingProfileIdSpecified=true;}\n            }\n        }\n        public static void ARBGetSubscriptionListSorting(ARBGetSubscriptionListSorting argument) \n        {\n            if(null != argument) \n            {\n                (argument.orderDescending);\n            }\n        }\n        public static void Paging(Paging argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void TransactionListSorting(TransactionListSorting argument) \n        {\n            if(null != argument) \n            {\n                (argument.orderDescending);\n            }\n        }\n        public static void heldTransactionRequestType(heldTransactionRequestType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void createProfileResponse(createProfileResponse argument) \n        {\n            if(null != argument) \n            {\n                messagesType(argument.messages);\n            }\n        }\n        public static void messagesType(messagesType argument) \n        {\n            if(null != argument) \n            {\n                if(null != argument.message){ foreach( var value in argument.message) { messagesTypeMessage(value);} } \n            }\n        }\n        public static void messagesTypeMessage(messagesTypeMessage argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void transactionResponse(transactionResponse argument) \n        {\n            if(null != argument) \n            {\n                transactionResponsePrePaidCard(argument.prePaidCard);\n                if(null != argument.messages){ foreach( var value in argument.messages) { transactionResponseMessage(value);} } \n                if(null != argument.errors){ foreach( var value in argument.errors) { transactionResponseError(value);} } \n                if(null != argument.splitTenderPayments){ foreach( var value in argument.splitTenderPayments) { transactionResponseSplitTenderPayment(value);} } \n                if(null != argument.userFields){ foreach( var value in argument.userFields) { userField(value);} } \n                nameAndAddressType(argument.shipTo);\n                transactionResponseSecureAcceptance(argument.secureAcceptance);\n                transactionResponseEmvResponse(argument.emvResponse);\n                customerProfileIdType(argument.profile);\n            }\n        }\n        public static void transactionResponsePrePaidCard(transactionResponsePrePaidCard argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void transactionResponseMessage(transactionResponseMessage argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void transactionResponseError(transactionResponseError argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void transactionResponseSplitTenderPayment(transactionResponseSplitTenderPayment argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void userField(userField argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void transactionResponseSecureAcceptance(transactionResponseSecureAcceptance argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void transactionResponseEmvResponse(transactionResponseEmvResponse argument) \n        {\n            if(null != argument) \n            {\n                if(null != argument.tags){ foreach( var value in argument.tags) { emvTag(value);} } \n            }\n        }\n        public static void emvTag(emvTag argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void customerProfileIdType(customerProfileIdType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void returnedItemType(returnedItemType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void transactionDetailsType(transactionDetailsType argument) \n        {\n            if(null != argument) \n            {\n                subscriptionPaymentType(argument.subscription);\n                if(null != argument.FDSFilters){ foreach( var value in argument.FDSFilters) { FDSFilterType(value);} } \n                batchDetailsType(argument.batch);\n                orderExType(argument.order);\n                if(argument.requestedAmount) { argument.requestedAmountSpecified=true;}\n                extendedAmountType(argument.tax);\n                extendedAmountType(argument.shipping);\n                extendedAmountType(argument.duty);\n                if(null != argument.lineItems){ foreach( var value in argument.lineItems) { lineItemType(value);} } \n                if(argument.prepaidBalanceRemaining) { argument.prepaidBalanceRemainingSpecified=true;}\n                if(argument.taxExempt) { argument.taxExemptSpecified=true;}\n                paymentMaskedType(argument.payment);\n                customerDataType(argument.customer);\n                customerAddressType(argument.billTo);\n                nameAndAddressType(argument.shipTo);\n                if(argument.recurringBilling) { argument.recurringBillingSpecified=true;}\n                if(null != argument.returnedItems){ foreach( var value in argument.returnedItems) { returnedItemType(value);} } \n                solutionType(argument.solution);\n                if(null != argument.emvDetails){ foreach( var value in argument.emvDetails) { transactionDetailsTypeTag(value);} } \n                customerProfileIdType(argument.profile);\n                extendedAmountType(argument.surcharge);\n                extendedAmountType(argument.tip);\n                otherTaxType(argument.otherTax);\n                nameAndAddressType(argument.shipFrom);\n                if(argument.originalAuthAmount) { argument.originalAuthAmountSpecified=true;}\n            }\n        }\n        public static void subscriptionPaymentType(subscriptionPaymentType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void FDSFilterType(FDSFilterType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void batchDetailsType(batchDetailsType argument) \n        {\n            if(null != argument) \n            {\n                if(argument.settlementTimeUTC) { argument.settlementTimeUTCSpecified=true;}\n                if(argument.settlementTimeLocal) { argument.settlementTimeLocalSpecified=true;}\n                if(null != argument.statistics){ foreach( var value in argument.statistics) { batchStatisticType(value);} } \n            }\n        }\n        public static void batchStatisticType(batchStatisticType argument) \n        {\n            if(null != argument) \n            {\n                if(argument.returnedItemAmount) { argument.returnedItemAmountSpecified=true;}\n                if(argument.returnedItemCount) { argument.returnedItemCountSpecified=true;}\n                if(argument.chargebackAmount) { argument.chargebackAmountSpecified=true;}\n                if(argument.chargebackCount) { argument.chargebackCountSpecified=true;}\n                if(argument.correctionNoticeCount) { argument.correctionNoticeCountSpecified=true;}\n                if(argument.chargeChargeBackAmount) { argument.chargeChargeBackAmountSpecified=true;}\n                if(argument.chargeChargeBackCount) { argument.chargeChargeBackCountSpecified=true;}\n                if(argument.refundChargeBackAmount) { argument.refundChargeBackAmountSpecified=true;}\n                if(argument.refundChargeBackCount) { argument.refundChargeBackCountSpecified=true;}\n                if(argument.chargeReturnedItemsAmount) { argument.chargeReturnedItemsAmountSpecified=true;}\n                if(argument.chargeReturnedItemsCount) { argument.chargeReturnedItemsCountSpecified=true;}\n                if(argument.refundReturnedItemsAmount) { argument.refundReturnedItemsAmountSpecified=true;}\n                if(argument.refundReturnedItemsCount) { argument.refundReturnedItemsCountSpecified=true;}\n            }\n        }\n        public static void orderExType(orderExType argument) \n        {\n            if(null != argument) \n            {\n         orderType (argument);\n            }\n        }\n        public static void orderType(orderType argument) \n        {\n            if(null != argument) \n            {\n                if(argument.discountAmount) { argument.discountAmountSpecified=true;}\n                if(argument.taxIsAfterDiscount) { argument.taxIsAfterDiscountSpecified=true;}\n                if(argument.purchaseOrderDateUTC) { argument.purchaseOrderDateUTCSpecified=true;}\n            }\n        }\n        public static void extendedAmountType(extendedAmountType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void lineItemType(lineItemType argument) \n        {\n            if(null != argument) \n            {\n                if(argument.taxable) { argument.taxableSpecified=true;}\n                if(argument.taxRate) { argument.taxRateSpecified=true;}\n                if(argument.taxAmount) { argument.taxAmountSpecified=true;}\n                if(argument.nationalTax) { argument.nationalTaxSpecified=true;}\n                if(argument.localTax) { argument.localTaxSpecified=true;}\n                if(argument.vatRate) { argument.vatRateSpecified=true;}\n                if(argument.alternateTaxRate) { argument.alternateTaxRateSpecified=true;}\n                if(argument.alternateTaxAmount) { argument.alternateTaxAmountSpecified=true;}\n                if(argument.totalAmount) { argument.totalAmountSpecified=true;}\n                if(argument.discountRate) { argument.discountRateSpecified=true;}\n                if(argument.discountAmount) { argument.discountAmountSpecified=true;}\n                if(argument.taxIncludedInTotal) { argument.taxIncludedInTotalSpecified=true;}\n                if(argument.taxIsAfterDiscount) { argument.taxIsAfterDiscountSpecified=true;}\n            }\n        }\n        public static void customerDataType(customerDataType argument) \n        {\n            if(null != argument) \n            {\n                if(argument.type) { argument.typeSpecified=true;}\n                driversLicenseType(argument.driversLicense);\n            }\n        }\n        public static void driversLicenseType(driversLicenseType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void solutionType(solutionType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void transactionDetailsTypeTag(transactionDetailsTypeTag argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void otherTaxType(otherTaxType argument) \n        {\n            if(null != argument) \n            {\n                if(argument.nationalTaxAmount) { argument.nationalTaxAmountSpecified=true;}\n                if(argument.localTaxAmount) { argument.localTaxAmountSpecified=true;}\n                if(argument.alternateTaxAmount) { argument.alternateTaxAmountSpecified=true;}\n                if(argument.vatTaxRate) { argument.vatTaxRateSpecified=true;}\n                if(argument.vatTaxAmount) { argument.vatTaxAmountSpecified=true;}\n            }\n        }\n        public static void profileTransactionType(profileTransactionType argument) \n        {\n            if(null != argument) \n            {\n                        profileTransAuthCaptureType(argument);\n                        profileTransAuthOnlyType(argument);\n                        profileTransCaptureOnlyType(argument);\n                        profileTransPriorAuthCaptureType(argument);\n                        profileTransRefundType(argument);\n                        profileTransVoidType(argument);\n            }\n        }\n        public static void profileTransAuthCaptureType(profileTransAuthCaptureType argument) \n        {\n            if(null != argument) \n            {\n         profileTransOrderType (argument);\n            }\n        }\n        public static void profileTransOrderType(profileTransOrderType argument) \n        {\n            if(null != argument) \n            {\n         profileTransAmountType (argument);\n                orderExType(argument.order);\n                if(argument.taxExempt) { argument.taxExemptSpecified=true;}\n                if(argument.recurringBilling) { argument.recurringBillingSpecified=true;}\n                processingOptions(argument.processingOptions);\n                subsequentAuthInformation(argument.subsequentAuthInformation);\n                authorizationIndicatorType(argument.authorizationIndicatorType);\n            }\n        }\n        public static void processingOptions(processingOptions argument) \n        {\n            if(null != argument) \n            {\n                if(argument.isFirstRecurringPayment) { argument.isFirstRecurringPaymentSpecified=true;}\n                if(argument.isFirstSubsequentAuth) { argument.isFirstSubsequentAuthSpecified=true;}\n                if(argument.isSubsequentAuth) { argument.isSubsequentAuthSpecified=true;}\n                if(argument.isStoredCredentials) { argument.isStoredCredentialsSpecified=true;}\n            }\n        }\n        public static void subsequentAuthInformation(subsequentAuthInformation argument) \n        {\n            if(null != argument) \n            {\n                if(argument.originalAuthAmount) { argument.originalAuthAmountSpecified=true;}\n                if(argument.reason) { argument.reasonSpecified=true;}\n            }\n        }\n        public static void authorizationIndicatorType(authorizationIndicatorType argument) \n        {\n            if(null != argument) \n            {\n                if(argument.authorizationIndicator) { argument.authorizationIndicatorSpecified=true;}\n            }\n        }\n        public static void profileTransAmountType(profileTransAmountType argument) \n        {\n            if(null != argument) \n            {\n                extendedAmountType(argument.tax);\n                extendedAmountType(argument.shipping);\n                extendedAmountType(argument.duty);\n                if(null != argument.lineItems){ foreach( var value in argument.lineItems) { lineItemType(value);} } \n            }\n        }\n        public static void profileTransRefundType(profileTransRefundType argument) \n        {\n            if(null != argument) \n            {\n         profileTransAmountType (argument);\n                orderExType(argument.order);\n            }\n        }\n        public static void profileTransPriorAuthCaptureType(profileTransPriorAuthCaptureType argument) \n        {\n            if(null != argument) \n            {\n         profileTransAmountType (argument);\n            }\n        }\n        public static void profileTransCaptureOnlyType(profileTransCaptureOnlyType argument) \n        {\n            if(null != argument) \n            {\n         profileTransOrderType (argument);\n            }\n        }\n        public static void profileTransAuthOnlyType(profileTransAuthOnlyType argument) \n        {\n            if(null != argument) \n            {\n         profileTransOrderType (argument);\n            }\n        }\n        public static void profileTransVoidType(profileTransVoidType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void paymentProfile(paymentProfile argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void customerProfilePaymentType(customerProfilePaymentType argument) \n        {\n            if(null != argument) \n            {\n                if(argument.createProfile) { argument.createProfileSpecified=true;}\n                paymentProfile(argument.paymentProfile);\n            }\n        }\n        public static void transactionRequestType(transactionRequestType argument) \n        {\n            if(null != argument) \n            {\n                if(argument.amount) { argument.amountSpecified=true;}\n                paymentType(argument.payment);\n                customerProfilePaymentType(argument.profile);\n                solutionType(argument.solution);\n                orderType(argument.order);\n                if(null != argument.lineItems){ foreach( var value in argument.lineItems) { lineItemType(value);} } \n                extendedAmountType(argument.tax);\n                extendedAmountType(argument.duty);\n                extendedAmountType(argument.shipping);\n                if(argument.taxExempt) { argument.taxExemptSpecified=true;}\n                customerDataType(argument.customer);\n                customerAddressType(argument.billTo);\n                nameAndAddressType(argument.shipTo);\n                ccAuthenticationType(argument.cardholderAuthentication);\n                transRetailInfoType(argument.retail);\n                if(null != argument.transactionSettings){ foreach( var value in argument.transactionSettings) { settingType(value);} } \n                if(null != argument.userFields){ foreach( var value in argument.userFields) { userField(value);} } \n                extendedAmountType(argument.surcharge);\n                subMerchantType(argument.subMerchant);\n                extendedAmountType(argument.tip);\n                processingOptions(argument.processingOptions);\n                subsequentAuthInformation(argument.subsequentAuthInformation);\n                otherTaxType(argument.otherTax);\n                nameAndAddressType(argument.shipFrom);\n                authorizationIndicatorType(argument.authorizationIndicatorType);\n            }\n        }\n        public static void paymentType(paymentType argument) \n        {\n            if(null != argument) \n            {\n                        bankAccountType(argument);\n                        creditCardType(argument);\n                        paymentEmvType(argument);\n                        encryptedTrackDataType(argument);\n                        opaqueDataType(argument);\n                        payPalType(argument);\n                        creditCardTrackType(argument);\n            }\n        }\n        public static void bankAccountType(bankAccountType argument) \n        {\n            if(null != argument) \n            {\n                if(argument.accountType) { argument.accountTypeSpecified=true;}\n                if(argument.echeckType) { argument.echeckTypeSpecified=true;}\n            }\n        }\n        public static void creditCardType(creditCardType argument) \n        {\n            if(null != argument) \n            {\n         creditCardSimpleType (argument);\n                if(argument.isPaymentToken) { argument.isPaymentTokenSpecified=true;}\n            }\n        }\n        public static void creditCardSimpleType(creditCardSimpleType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void paymentEmvType(paymentEmvType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void encryptedTrackDataType(encryptedTrackDataType argument) \n        {\n            if(null != argument) \n            {\n                KeyBlock(argument.FormOfPayment);\n            }\n        }\n        public static void KeyBlock(KeyBlock argument) \n        {\n            if(null != argument) \n            {\n                KeyValue(argument.Value);\n            }\n        }\n        public static void KeyValue(KeyValue argument) \n        {\n            if(null != argument) \n            {\n                EncodingType(argument.Encoding);\n                EncryptionAlgorithmType(argument.EncryptionAlgorithm);\n                KeyManagementScheme(argument.Scheme);\n            }\n        }\n        public static void KeyManagementScheme(KeyManagementScheme argument) \n        {\n            if(null != argument) \n            {\n                KeyManagementSchemeDUKPT(argument.DUKPT);\n            }\n        }\n        public static void KeyManagementSchemeDUKPT(KeyManagementSchemeDUKPT argument) \n        {\n            if(null != argument) \n            {\n                OperationType(argument.Operation);\n                KeyManagementSchemeDUKPTMode(argument.Mode);\n                KeyManagementSchemeDUKPTDeviceInfo(argument.DeviceInfo);\n                KeyManagementSchemeDUKPTEncryptedData(argument.EncryptedData);\n            }\n        }\n        public static void KeyManagementSchemeDUKPTMode(KeyManagementSchemeDUKPTMode argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void KeyManagementSchemeDUKPTDeviceInfo(KeyManagementSchemeDUKPTDeviceInfo argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void KeyManagementSchemeDUKPTEncryptedData(KeyManagementSchemeDUKPTEncryptedData argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void payPalType(payPalType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void creditCardTrackType(creditCardTrackType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void ccAuthenticationType(ccAuthenticationType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void transRetailInfoType(transRetailInfoType argument) \n        {\n            if(null != argument) \n            {\ntransRetailInfoType() {\n            this.marketType = \"2\";\n            }\n        }\n        public static void settingType(settingType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void subMerchantType(subMerchantType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void mobileDeviceType(mobileDeviceType argument) \n        {\n            if(null != argument) \n            {\n                if(argument.deviceActivation) { argument.deviceActivationSpecified=true;}\n            }\n        }\n        public static void customerPaymentProfileBaseType(customerPaymentProfileBaseType argument) \n        {\n            if(null != argument) \n            {\n                if(argument.customerType) { argument.customerTypeSpecified=true;}\n                customerAddressType(argument.billTo);\n            }\n        }\n        public static void customerPaymentProfileMaskedType(customerPaymentProfileMaskedType argument) \n        {\n            if(null != argument) \n            {\n         customerPaymentProfileBaseType (argument);\n                if(argument.defaultPaymentProfile) { argument.defaultPaymentProfileSpecified=true;}\n                paymentMaskedType(argument.payment);\n                driversLicenseMaskedType(argument.driversLicense);\n                if(argument.originalAuthAmount) { argument.originalAuthAmountSpecified=true;}\n                if(argument.excludeFromAccountUpdater) { argument.excludeFromAccountUpdaterSpecified=true;}\n            }\n        }\n        public static void driversLicenseMaskedType(driversLicenseMaskedType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void customerPaymentProfileType(customerPaymentProfileType argument) \n        {\n            if(null != argument) \n            {\n         customerPaymentProfileBaseType (argument);\n                paymentType(argument.payment);\n                driversLicenseType(argument.driversLicense);\n                if(argument.defaultPaymentProfile) { argument.defaultPaymentProfileSpecified=true;}\n                subsequentAuthInformation(argument.subsequentAuthInformation);\n                if(argument.excludeFromAccountUpdater) { argument.excludeFromAccountUpdaterSpecified=true;}\n            }\n        }\n        public static void customerPaymentProfileExType(customerPaymentProfileExType argument) \n        {\n            if(null != argument) \n            {\n         customerPaymentProfileType (argument);\n            }\n        }\n        public static void customerProfileBaseType(customerProfileBaseType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void customerProfileExType(customerProfileExType argument) \n        {\n            if(null != argument) \n            {\n         customerProfileBaseType (argument);\n            }\n        }\n        public static void customerProfileMaskedType(customerProfileMaskedType argument) \n        {\n            if(null != argument) \n            {\n         customerProfileExType (argument);\n                if(null != argument.paymentProfiles){ foreach( var value in argument.paymentProfiles) { customerPaymentProfileMaskedType(value);} } \n                if(null != argument.shipToList){ foreach( var value in argument.shipToList) { customerAddressExType(value);} } \n                if(argument.profileType) { argument.profileTypeSpecified=true;}\n            }\n        }\n        public static void customerProfileInfoExType(customerProfileInfoExType argument) \n        {\n            if(null != argument) \n            {\n         customerProfileExType (argument);\n                if(argument.profileType) { argument.profileTypeSpecified=true;}\n            }\n        }\n        public static void subscriptionCustomerProfileType(subscriptionCustomerProfileType argument) \n        {\n            if(null != argument) \n            {\n         customerProfileExType (argument);\n                customerPaymentProfileMaskedType(argument.paymentProfile);\n                customerAddressExType(argument.shippingProfile);\n            }\n        }\n        public static void customerProfileType(customerProfileType argument) \n        {\n            if(null != argument) \n            {\n         customerProfileBaseType (argument);\n                if(null != argument.paymentProfiles){ foreach( var value in argument.paymentProfiles) { customerPaymentProfileType(value);} } \n                if(null != argument.shipToList){ foreach( var value in argument.shipToList) { customerAddressType(value);} } \n                if(argument.profileType) { argument.profileTypeSpecified=true;}\n            }\n        }\n        public static void ARBSubscriptionMaskedType(ARBSubscriptionMaskedType argument) \n        {\n            if(null != argument) \n            {\n                paymentScheduleType(argument.paymentSchedule);\n                if(argument.amount) { argument.amountSpecified=true;}\n                if(argument.trialAmount) { argument.trialAmountSpecified=true;}\n                if(argument.status) { argument.statusSpecified=true;}\n                subscriptionCustomerProfileType(argument.profile);\n                orderType(argument.order);\n                if(null != argument.arbTransactions){ foreach( var value in argument.arbTransactions) { arbTransaction(value);} } \n            }\n        }\n        public static void paymentScheduleType(paymentScheduleType argument) \n        {\n            if(null != argument) \n            {\n                paymentScheduleTypeInterval(argument.interval);\n                if(argument.startDate) { argument.startDateSpecified=true;}\n                if(argument.totalOccurrences) { argument.totalOccurrencesSpecified=true;}\n                if(argument.trialOccurrences) { argument.trialOccurrencesSpecified=true;}\n            }\n        }\n        public static void paymentScheduleTypeInterval(paymentScheduleTypeInterval argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void arbTransaction(arbTransaction argument) \n        {\n            if(null != argument) \n            {\n                if(argument.submitTimeUTC) { argument.submitTimeUTCSpecified=true;}\n                if(argument.payNum) { argument.payNumSpecified=true;}\n                if(argument.attemptNum) { argument.attemptNumSpecified=true;}\n            }\n        }\n        public static void securePaymentContainerErrorType(securePaymentContainerErrorType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void customerType(customerType argument) \n        {\n            if(null != argument) \n            {\n                if(argument.type) { argument.typeSpecified=true;}\n                driversLicenseType(argument.driversLicense);\n            }\n        }\n        public static void paymentSimpleType(paymentSimpleType argument) \n        {\n            if(null != argument) \n            {\n                        bankAccountType(argument);\n                        creditCardSimpleType(argument);\n            }\n        }\n        public static void merchantContactType(merchantContactType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void ContactDetailType(ContactDetailType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void permissionType(permissionType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void ArrayOfSetting(ArrayOfSetting argument) \n        {\n            if(null != argument) \n            {\n                if(null != argument.setting){ foreach( var value in argument.setting) { settingType(value);} } \n            }\n        }\n        public static void emailSettingsType(emailSettingsType argument) \n        {\n            if(null != argument) \n            {\n         ArrayOfSetting (argument);\n            }\n        }\n        public static void fraudInformationType(fraudInformationType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void transactionSummaryType(transactionSummaryType argument) \n        {\n            if(null != argument) \n            {\n                subscriptionPaymentType(argument.subscription);\n                if(argument.hasReturnedItems) { argument.hasReturnedItemsSpecified=true;}\n                fraudInformationType(argument.fraudInformation);\n                customerProfileIdType(argument.profile);\n            }\n        }\n        public static void ARBSubscriptionType(ARBSubscriptionType argument) \n        {\n            if(null != argument) \n            {\n                paymentScheduleType(argument.paymentSchedule);\n                if(argument.amount) { argument.amountSpecified=true;}\n                if(argument.trialAmount) { argument.trialAmountSpecified=true;}\n                paymentType(argument.payment);\n                orderType(argument.order);\n                customerType(argument.customer);\n                nameAndAddressType(argument.billTo);\n                nameAndAddressType(argument.shipTo);\n                customerProfileIdType(argument.profile);\n            }\n        }\n        public static void webCheckOutDataTypeToken(webCheckOutDataTypeToken argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void webCheckOutDataType(webCheckOutDataType argument) \n        {\n            if(null != argument) \n            {\n                webCheckOutDataTypeToken(argument.token);\n                bankAccountType(argument.bankToken);\n            }\n        }\n        public static void paymentDetails(paymentDetails argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void fingerPrintType(fingerPrintType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void impersonationAuthenticationType(impersonationAuthenticationType argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void merchantAuthenticationType(merchantAuthenticationType argument) \n        {\n            if(null != argument) \n            {\n                        fingerPrintType(argument);\n                        impersonationAuthenticationType(argument);\n            }\n        }\n        public static void ANetApiRequest(ANetApiRequest argument) \n        {\n            if(null != argument) \n            {\n                merchantAuthenticationType(argument.merchantAuthentication);\n            }\n        }\n        public static void decryptPaymentDataResponse(decryptPaymentDataResponse argument) \n        {\n            if(null != argument) \n            {\n                customerAddressType(argument.shippingInfo);\n                customerAddressType(argument.billingInfo);\n                creditCardMaskedType(argument.cardInfo);\n                paymentDetails(argument.paymentDetails);\n            }\n        }\n        public static void ANetApiResponse(ANetApiResponse argument) \n        {\n            if(null != argument) \n            {\n                messagesType(argument.messages);\n            }\n        }\n        public static void securePaymentContainerRequest(securePaymentContainerRequest argument) \n        {\n            if(null != argument) \n            {\n                webCheckOutDataType(argument.data);\n            }\n        }\n        public static void securePaymentContainerResponse(securePaymentContainerResponse argument) \n        {\n            if(null != argument) \n            {\n                opaqueDataType(argument.opaqueData);\n            }\n        }\n        public static void isAliveRequest(isAliveRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void isAliveResponse(isAliveResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void authenticateTestRequest(authenticateTestRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void authenticateTestResponse(authenticateTestResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void ARBCreateSubscriptionRequest(ARBCreateSubscriptionRequest argument) \n        {\n            if(null != argument) \n            {\n                ARBSubscriptionType(argument.subscription);\n            }\n        }\n        public static void ARBCreateSubscriptionResponse(ARBCreateSubscriptionResponse argument) \n        {\n            if(null != argument) \n            {\n                customerProfileIdType(argument.profile);\n            }\n        }\n        public static void ARBUpdateSubscriptionRequest(ARBUpdateSubscriptionRequest argument) \n        {\n            if(null != argument) \n            {\n                ARBSubscriptionType(argument.subscription);\n            }\n        }\n        public static void ARBUpdateSubscriptionResponse(ARBUpdateSubscriptionResponse argument) \n        {\n            if(null != argument) \n            {\n                customerProfileIdType(argument.profile);\n            }\n        }\n        public static void ARBCancelSubscriptionRequest(ARBCancelSubscriptionRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void ARBCancelSubscriptionResponse(ARBCancelSubscriptionResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void ARBGetSubscriptionStatusRequest(ARBGetSubscriptionStatusRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void ARBGetSubscriptionStatusResponse(ARBGetSubscriptionStatusResponse argument) \n        {\n            if(null != argument) \n            {\n                if(argument.status) { argument.statusSpecified=true;}\n            }\n        }\n        public static void createCustomerProfileRequest(createCustomerProfileRequest argument) \n        {\n            if(null != argument) \n            {\n                customerProfileType(argument.profile);\n                if(argument.validationMode) { argument.validationModeSpecified=true;}\n            }\n        }\n        public static void createCustomerProfileResponse(createCustomerProfileResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void createCustomerPaymentProfileRequest(createCustomerPaymentProfileRequest argument) \n        {\n            if(null != argument) \n            {\n                customerPaymentProfileType(argument.paymentProfile);\n                if(argument.validationMode) { argument.validationModeSpecified=true;}\n            }\n        }\n        public static void createCustomerPaymentProfileResponse(createCustomerPaymentProfileResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void createCustomerShippingAddressRequest(createCustomerShippingAddressRequest argument) \n        {\n            if(null != argument) \n            {\n                customerAddressType(argument.address);\n                if(argument.defaultShippingAddress) { argument.defaultShippingAddressSpecified=true;}\n            }\n        }\n        public static void createCustomerShippingAddressResponse(createCustomerShippingAddressResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void createCustomerProfileFromTransactionRequest(createCustomerProfileFromTransactionRequest argument) \n        {\n            if(null != argument) \n            {\n                customerProfileBaseType(argument.customer);\n                if(argument.defaultPaymentProfile) { argument.defaultPaymentProfileSpecified=true;}\n                if(argument.defaultShippingAddress) { argument.defaultShippingAddressSpecified=true;}\n                if(argument.profileType) { argument.profileTypeSpecified=true;}\n            }\n        }\n        public static void getCustomerProfileRequest(getCustomerProfileRequest argument) \n        {\n            if(null != argument) \n            {\n                if(argument.unmaskExpirationDate) { argument.unmaskExpirationDateSpecified=true;}\n                if(argument.includeIssuerInfo) { argument.includeIssuerInfoSpecified=true;}\n            }\n        }\n        public static void getCustomerProfileResponse(getCustomerProfileResponse argument) \n        {\n            if(null != argument) \n            {\n                customerProfileMaskedType(argument.profile);\n            }\n        }\n        public static void getCustomerPaymentProfileRequest(getCustomerPaymentProfileRequest argument) \n        {\n            if(null != argument) \n            {\n                if(argument.unmaskExpirationDate) { argument.unmaskExpirationDateSpecified=true;}\n                if(argument.includeIssuerInfo) { argument.includeIssuerInfoSpecified=true;}\n            }\n        }\n        public static void getCustomerPaymentProfileResponse(getCustomerPaymentProfileResponse argument) \n        {\n            if(null != argument) \n            {\n                customerPaymentProfileMaskedType(argument.paymentProfile);\n            }\n        }\n        public static void getCustomerShippingAddressRequest(getCustomerShippingAddressRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void getCustomerShippingAddressResponse(getCustomerShippingAddressResponse argument) \n        {\n            if(null != argument) \n            {\n                if(argument.defaultShippingAddress) { argument.defaultShippingAddressSpecified=true;}\n                customerAddressExType(argument.address);\n            }\n        }\n        public static void updateCustomerProfileRequest(updateCustomerProfileRequest argument) \n        {\n            if(null != argument) \n            {\n                customerProfileInfoExType(argument.profile);\n            }\n        }\n        public static void updateCustomerProfileResponse(updateCustomerProfileResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void updateCustomerPaymentProfileRequest(updateCustomerPaymentProfileRequest argument) \n        {\n            if(null != argument) \n            {\n                customerPaymentProfileExType(argument.paymentProfile);\n                if(argument.validationMode) { argument.validationModeSpecified=true;}\n            }\n        }\n        public static void updateCustomerPaymentProfileResponse(updateCustomerPaymentProfileResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void updateCustomerShippingAddressRequest(updateCustomerShippingAddressRequest argument) \n        {\n            if(null != argument) \n            {\n                customerAddressExType(argument.address);\n                if(argument.defaultShippingAddress) { argument.defaultShippingAddressSpecified=true;}\n            }\n        }\n        public static void updateCustomerShippingAddressResponse(updateCustomerShippingAddressResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void deleteCustomerProfileRequest(deleteCustomerProfileRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void deleteCustomerProfileResponse(deleteCustomerProfileResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void deleteCustomerPaymentProfileRequest(deleteCustomerPaymentProfileRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void deleteCustomerPaymentProfileResponse(deleteCustomerPaymentProfileResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void deleteCustomerShippingAddressRequest(deleteCustomerShippingAddressRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void deleteCustomerShippingAddressResponse(deleteCustomerShippingAddressResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void createCustomerProfileTransactionRequest(createCustomerProfileTransactionRequest argument) \n        {\n            if(null != argument) \n            {\n                profileTransactionType(argument.transaction);\n            }\n        }\n        public static void createCustomerProfileTransactionResponse(createCustomerProfileTransactionResponse argument) \n        {\n            if(null != argument) \n            {\n                transactionResponse(argument.transactionResponse);\n            }\n        }\n        public static void validateCustomerPaymentProfileRequest(validateCustomerPaymentProfileRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void validateCustomerPaymentProfileResponse(validateCustomerPaymentProfileResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void getCustomerProfileIdsRequest(getCustomerProfileIdsRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void getCustomerProfileIdsResponse(getCustomerProfileIdsResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void updateSplitTenderGroupRequest(updateSplitTenderGroupRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void updateSplitTenderGroupResponse(updateSplitTenderGroupResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void getTransactionDetailsRequest(getTransactionDetailsRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void getTransactionDetailsResponse(getTransactionDetailsResponse argument) \n        {\n            if(null != argument) \n            {\n                transactionDetailsType(argument.transaction);\n            }\n        }\n        public static void createTransactionRequest(createTransactionRequest argument) \n        {\n            if(null != argument) \n            {\n                transactionRequestType(argument.transactionRequest);\n            }\n        }\n        public static void createTransactionResponse(createTransactionResponse argument) \n        {\n            if(null != argument) \n            {\n                transactionResponse(argument.transactionResponse);\n                createProfileResponse(argument.profileResponse);\n            }\n        }\n        public static void updateHeldTransactionRequest(updateHeldTransactionRequest argument) \n        {\n            if(null != argument) \n            {\n                heldTransactionRequestType(argument.heldTransactionRequest);\n            }\n        }\n        public static void updateHeldTransactionResponse(updateHeldTransactionResponse argument) \n        {\n            if(null != argument) \n            {\n                transactionResponse(argument.transactionResponse);\n            }\n        }\n        public static void getBatchStatisticsRequest(getBatchStatisticsRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void getBatchStatisticsResponse(getBatchStatisticsResponse argument) \n        {\n            if(null != argument) \n            {\n                batchDetailsType(argument.batch);\n            }\n        }\n        public static void getSettledBatchListRequest(getSettledBatchListRequest argument) \n        {\n            if(null != argument) \n            {\n                if(argument.includeStatistics) { argument.includeStatisticsSpecified=true;}\n                if(argument.firstSettlementDate) { argument.firstSettlementDateSpecified=true;}\n                if(argument.lastSettlementDate) { argument.lastSettlementDateSpecified=true;}\n            }\n        }\n        public static void getSettledBatchListResponse(getSettledBatchListResponse argument) \n        {\n            if(null != argument) \n            {\n                if(null != argument.batchList){ foreach( var value in argument.batchList) { batchDetailsType(value);} } \n            }\n        }\n        public static void getTransactionListRequest(getTransactionListRequest argument) \n        {\n            if(null != argument) \n            {\n                TransactionListSorting(argument.sorting);\n                Paging(argument.paging);\n            }\n        }\n        public static void getTransactionListResponse(getTransactionListResponse argument) \n        {\n            if(null != argument) \n            {\n                if(null != argument.transactions){ foreach( var value in argument.transactions) { transactionSummaryType(value);} } \n                if(argument.totalNumInResultSet) { argument.totalNumInResultSetSpecified=true;}\n            }\n        }\n        public static void getHostedProfilePageRequest(getHostedProfilePageRequest argument) \n        {\n            if(null != argument) \n            {\n                if(null != argument.hostedProfileSettings){ foreach( var value in argument.hostedProfileSettings) { settingType(value);} } \n            }\n        }\n        public static void getHostedProfilePageResponse(getHostedProfilePageResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void getUnsettledTransactionListRequest(getUnsettledTransactionListRequest argument) \n        {\n            if(null != argument) \n            {\n                if(argument.status) { argument.statusSpecified=true;}\n                TransactionListSorting(argument.sorting);\n                Paging(argument.paging);\n            }\n        }\n        public static void getHostedPaymentPageRequest(getHostedPaymentPageRequest argument) \n        {\n            if(null != argument) \n            {\n                transactionRequestType(argument.transactionRequest);\n                if(null != argument.hostedPaymentSettings){ foreach( var value in argument.hostedPaymentSettings) { settingType(value);} } \n            }\n        }\n        public static void getHostedPaymentPageResponse(getHostedPaymentPageResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void getUnsettledTransactionListResponse(getUnsettledTransactionListResponse argument) \n        {\n            if(null != argument) \n            {\n                if(null != argument.transactions){ foreach( var value in argument.transactions) { transactionSummaryType(value);} } \n                if(argument.totalNumInResultSet) { argument.totalNumInResultSetSpecified=true;}\n            }\n        }\n        public static void mobileDeviceRegistrationRequest(mobileDeviceRegistrationRequest argument) \n        {\n            if(null != argument) \n            {\n                mobileDeviceType(argument.mobileDevice);\n            }\n        }\n        public static void mobileDeviceRegistrationResponse(mobileDeviceRegistrationResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void mobileDeviceLoginRequest(mobileDeviceLoginRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void mobileDeviceLoginResponse(mobileDeviceLoginResponse argument) \n        {\n            if(null != argument) \n            {\n                merchantContactType(argument.merchantContact);\n                if(null != argument.userPermissions){ foreach( var value in argument.userPermissions) { permissionType(value);} } \n                transRetailInfoType(argument.merchantAccount);\n            }\n        }\n        public static void logoutRequest(logoutRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void logoutResponse(logoutResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void sendCustomerTransactionReceiptRequest(sendCustomerTransactionReceiptRequest argument) \n        {\n            if(null != argument) \n            {\n                emailSettingsType(argument.emailSettings);\n            }\n        }\n        public static void sendCustomerTransactionReceiptResponse(sendCustomerTransactionReceiptResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void ARBGetSubscriptionListRequest(ARBGetSubscriptionListRequest argument) \n        {\n            if(null != argument) \n            {\n                ARBGetSubscriptionListSorting(argument.sorting);\n                Paging(argument.paging);\n            }\n        }\n        public static void ARBGetSubscriptionListResponse(ARBGetSubscriptionListResponse argument) \n        {\n            if(null != argument) \n            {\n                if(argument.totalNumInResultSet) { argument.totalNumInResultSetSpecified=true;}\n                if(null != argument.subscriptionDetails){ foreach( var value in argument.subscriptionDetails) { SubscriptionDetail(value);} } \n            }\n        }\n        public static void EnumCollection(EnumCollection argument) \n        {\n            if(null != argument) \n            {\n                customerProfileSummaryType(argument.customerProfileSummaryType);\n                paymentSimpleType(argument.paymentSimpleType);\n        typeEmailReceipt,\n            }\n        }\n        public static void getCustomerPaymentProfileListRequest(getCustomerPaymentProfileListRequest argument) \n        {\n            if(null != argument) \n            {\n                CustomerPaymentProfileSorting(argument.sorting);\n                Paging(argument.paging);\n            }\n        }\n        public static void getCustomerPaymentProfileListResponse(getCustomerPaymentProfileListResponse argument) \n        {\n            if(null != argument) \n            {\n                if(null != argument.paymentProfiles){ foreach( var value in argument.paymentProfiles) { customerPaymentProfileListItemType(value);} } \n            }\n        }\n        public static void ARBGetSubscriptionRequest(ARBGetSubscriptionRequest argument) \n        {\n            if(null != argument) \n            {\n                if(argument.includeTransactions) { argument.includeTransactionsSpecified=true;}\n            }\n        }\n        public static void ARBGetSubscriptionResponse(ARBGetSubscriptionResponse argument) \n        {\n            if(null != argument) \n            {\n                ARBSubscriptionMaskedType(argument.subscription);\n            }\n        }\n        public static void getTransactionListForCustomerRequest(getTransactionListForCustomerRequest argument) \n        {\n            if(null != argument) \n            {\n                TransactionListSorting(argument.sorting);\n                Paging(argument.paging);\n            }\n        }\n        public static void getAUJobSummaryRequest(getAUJobSummaryRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void getAUJobSummaryResponse(getAUJobSummaryResponse argument) \n        {\n            if(null != argument) \n            {\n                if(null != argument.auSummary){ foreach( var value in argument.auSummary) { auResponseType(value);} } \n            }\n        }\n        public static void getAUJobDetailsRequest(getAUJobDetailsRequest argument) \n        {\n            if(null != argument) \n            {\n                if(argument.modifiedTypeFilter) { argument.modifiedTypeFilterSpecified=true;}\n                Paging(argument.paging);\n            }\n        }\n        public static void getAUJobDetailsResponse(getAUJobDetailsResponse argument) \n        {\n            if(null != argument) \n            {\n                if(argument.totalNumInResultSet) { argument.totalNumInResultSetSpecified=true;}\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"auDelete\", typeof(auDeleteType), IsNullable=false)]\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"auUpdate\", typeof(auUpdateType), IsNullable=false)]\n                if(null != argument.auDetails){ foreach( var value in argument.auDetails) { auDetailsType(value);} } \n            }\n        }\n        public static void getMerchantDetailsRequest(getMerchantDetailsRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void getMerchantDetailsResponse(getMerchantDetailsResponse argument) \n        {\n            if(null != argument) \n            {\n                if(argument.isTestMode) { argument.isTestModeSpecified=true;}\n                if(null != argument.processors){ foreach( var value in argument.processors) { processorType(value);} } \n        [System.Xml.Serialization.XmlArrayItemAttribute(\"marketType\")]\nSystem.Nullable<\n                customerAddressType(argument.businessInformation);\n                if(null != argument.contactDetails){ foreach( var value in argument.contactDetails) { ContactDetailType(value);} } \n            }\n        }\n        public static void updateMerchantDetailsRequest(updateMerchantDetailsRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void updateMerchantDetailsResponse(updateMerchantDetailsResponse argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void getCustomerPaymentProfileNonceRequest(getCustomerPaymentProfileNonceRequest argument) \n        {\n            if(null != argument) \n            {\n            }\n        }\n        public static void getCustomerPaymentProfileNonceResponse(getCustomerPaymentProfileNonceResponse argument) \n        {\n            if(null != argument) \n            {\n                opaqueDataType(argument.opaqueData);\n            }\n        }\n    } \n// ReSharper restore InconsistentNaming \n#pragma warning restore 1591 \n#pragma warning restore 169 \n} \n/* \nRequests \nARBCreateSubscriptionRequest  \nARBUpdateSubscriptionRequest  \ncreateCustomerPaymentProfileRequest  \ncreateCustomerProfileRequest  \ncreateCustomerProfileTransactionRequest  \ncreateTransactionRequest  \ngetSettledBatchListRequest  \nmobileDeviceRegistrationRequest  \nupdateCustomerPaymentProfileRequest  \nXXDoNotUseDummyRequest  \nECHO is off.\n */ \n/* \nObjects \nECHO is off.\nARBSubscriptionType  \nbankAccountMaskedType  \nbankAccountType  \nbatchDetailsType  \nbatchStatisticType  \ncustomerDataType  \ncustomerPaymentProfileBaseType  \ncustomerPaymentProfileExType  \ncustomerPaymentProfileMaskedType  \ncustomerPaymentProfileType  \ncustomerProfileMaskedType  \ncustomerProfileType  \ncustomerType  \nlineItemType  \nmobileDeviceType  \npaymentMaskedType  \npaymentScheduleType  \npaymentSimpleType  \npaymentType  \nprofileTransactionType  \nprofileTransAmountType  \nprofileTransAuthCaptureType  \nprofileTransAuthOnlyType  \nprofileTransCaptureOnlyType  \nprofileTransOrderType  \nprofileTransPriorAuthCaptureType  \nprofileTransRefundType  \ntransactionDetailsType  \ntransactionRequestType  \ntransactionSummaryType  \nECHO is off.\n */ \n"
  },
  {
    "path": "Authorize.NET/Api/ControllerTemplate.cst",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class APICONTROLLERNAMEController : ApiOperationBase<APICONTROLLERNAMERequest, APICONTROLLERNAMEResponse> {\n\n\t    public APICONTROLLERNAMEController(APICONTROLLERNAMERequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.APICONTROLLERNAMEType(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/ARBCancelSubscriptionController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class ARBCancelSubscriptionController : ApiOperationBase<ARBCancelSubscriptionRequest, ARBCancelSubscriptionResponse> {\n\n\t    public ARBCancelSubscriptionController(ARBCancelSubscriptionRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/ARBCreateSubscriptionController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class ARBCreateSubscriptionController : ApiOperationBase<ARBCreateSubscriptionRequest, ARBCreateSubscriptionResponse> {\n\n\t    public ARBCreateSubscriptionController(ARBCreateSubscriptionRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n            if (null == request.subscription) throw new ArgumentException(\"subscription cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.ARBCreateSubscriptionRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/ARBGetSubscriptionController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class ARBGetSubscriptionController : ApiOperationBase<ARBGetSubscriptionRequest, ARBGetSubscriptionResponse> {\n\n\t    public ARBGetSubscriptionController(ARBGetSubscriptionRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    if ( request.subscriptionId == null) throw new ArgumentException( \"Subscription ID cannot be null\");\n\t\t    \n            //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.ARBGetSubscriptionRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/ARBGetSubscriptionListController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class ARBGetSubscriptionListController : ApiOperationBase<ARBGetSubscriptionListRequest, ARBGetSubscriptionListResponse> {\n\n\t    public ARBGetSubscriptionListController(ARBGetSubscriptionListRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t}\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/ARBGetSubscriptionStatusController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class ARBGetSubscriptionStatusController : ApiOperationBase<ARBGetSubscriptionStatusRequest, ARBGetSubscriptionStatusResponse> {\n\n\t    public ARBGetSubscriptionStatusController(ARBGetSubscriptionStatusRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/ARBUpdateSubscriptionController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class ARBUpdateSubscriptionController : ApiOperationBase<ARBUpdateSubscriptionRequest, ARBUpdateSubscriptionResponse> {\n\n\t    public ARBUpdateSubscriptionController(ARBUpdateSubscriptionRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.ARBUpdateSubscriptionRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/Bases/ApiOperationBase.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.Bases\n{\n    using System.Collections.Generic;\n    using System.Globalization;\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Util;\n\n    /**\n     * @author ramittal\n     *\n     */\n#pragma warning disable 1591\n    public abstract class ApiOperationBase<TQ, TS> : IApiOperation<TQ, TS> \n            where TQ : ANetApiRequest\n            where TS : ANetApiResponse\n    {\n// ReSharper disable StaticFieldInGenericType\n\t    protected static Log Logger = LogFactory.getLog(typeof(ApiOperationBase<TQ,TS>));\n// ReSharper restore StaticFieldInGenericType\n\n        public static AuthorizeNet.Environment RunEnvironment { get; set; }\n        public static merchantAuthenticationType MerchantAuthentication { get; set; } \n\t\n\t    private TQ _apiRequest;\n\t    private TS _apiResponse;\n\n        readonly Type _requestClass;\n        readonly Type _responseClass;\n\n\t    private ANetApiResponse _errorResponse;\n\t\n\t    protected ApiOperationBase(TQ apiRequest) \n        {\n\t\t    if ( null == apiRequest)\n\t\t    {\n\t\t\t    Logger.error(\"null apiRequest\");\n\t\t\t    throw new ArgumentNullException( \"apiRequest\", \"Input request cannot be null\");\n\t\t    }\n\t\t    if ( null != GetApiResponse())\n\t\t    {\n\t\t\t    Logger.error(GetApiResponse());\n\t\t\t    throw new InvalidOperationException( \"Response should be null\");\n\t\t    }\n\n\t        _requestClass = typeof(TQ);//Type<TQ>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];\n\t        _responseClass = typeof(TS);// GetResponseType();\n\t\t    SetApiRequest(apiRequest);\n\t\t\n\t\t    Logger.debug(string.Format(\"Creating instance for request:'{0}' and response:'{1}'\", _requestClass, _responseClass));\n            //Logger.debug(string.Format(\"Request:'{0}'\", apiRequest));\n            //Logger.debug(string.Format(\"Request(Ctor):'{0}'\", XmlUtility.GetXml(apiRequest)));\n\t\t    Validate();\n\t    }\n\t\n\t    protected TQ GetApiRequest() {\n\t\t    return _apiRequest;\n\t    }\n\n\t    protected void SetApiRequest(TQ apiRequest) {\n\t\t    _apiRequest = apiRequest;\n\t    }\n\n\t    public TS GetApiResponse() {\n\t\t    return _apiResponse;\n\t    }\n\n\t    private void SetApiResponse(TS apiResponse) {\n\t\t    _apiResponse = apiResponse;\n\t    }\n\n\t    public ANetApiResponse GetErrorResponse() {\n\t\t    return _errorResponse;\n\t    }\n\n\t    private void SetErrorResponse(ANetApiResponse errorResponse) {\n\t\t    _errorResponse = errorResponse;\n\t    }\n\n        public TS ExecuteWithApiResponse(AuthorizeNet.Environment environment = null)\n        {\n            Execute(environment);\n            return GetApiResponse();\n        }\n\n        const String NullEnvironmentErrorMessage = \"Environment not set. Set environment using setter or use overloaded method to pass appropriate environment\";\n\n        public void Execute(AuthorizeNet.Environment environment = null)\n        {\n            BeforeExecute();\n\n            Logger.debug(string.Format(CultureInfo.InvariantCulture, \"Executing Request:'{0}'\", XmlUtility.GetXml(GetApiRequest())));\n\n            if (null == environment) { environment = ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment; }\n            if (null == environment) throw new ArgumentException(NullEnvironmentErrorMessage);\n\n            var httpApiResponse = HttpUtility.PostData<TQ, TS>(environment, GetApiRequest());\n\n            if (null != httpApiResponse)\n\t\t    {\n                Logger.debug(string.Format(CultureInfo.InvariantCulture, \"Received Response:'{0}' for request:'{1}'\", httpApiResponse, GetApiRequest()));\n                if (httpApiResponse.GetType() == _responseClass)\n\t\t\t    {\n                    var response = (TS) httpApiResponse;\n\t\t\t\t    SetApiResponse( response);\n                    Logger.debug(string.Format(CultureInfo.InvariantCulture, \"Setting response: '{0}'\", response));\n                }\n                else if (httpApiResponse.GetType() == typeof(AuthorizeNet.Api.Controllers.Bases.ErrorResponse))\n                {\n                    SetErrorResponse(httpApiResponse);\n                    Logger.debug(string.Format(CultureInfo.InvariantCulture, \"Received ErrorResponse:'{0}'\", httpApiResponse));\n\t\t\t    } else {\n                    SetErrorResponse(httpApiResponse);\n                    Logger.error(string.Format(CultureInfo.InvariantCulture, \"Invalid response:'{0}'\", httpApiResponse));\n\t\t\t    }\n                Logger.debug(string.Format(\"Response obtained: {0}\", GetApiResponse()));\n\t\t\t    SetResultStatus();\n\t\t\t\n\t\t    } else {\n                Logger.debug(string.Format(CultureInfo.InvariantCulture, \"Got a 'null' Response for request:'{0}'\\n\", GetApiRequest()));\n\t\t    }\n\t\t    AfterExecute();\n\t    }\n\n\t    public messageTypeEnum GetResultCode() {\n\t\t    return ResultCode;\n\t    }\n\t\n\t    private void SetResultStatus() {\n\t\t    Results = new List<string>();\n\t\t    var messageTypes = GetResultMessage();\n\t\t\n\t\t    if (null != messageTypes) {\n\t\t\t    ResultCode = messageTypes.resultCode;\n\t\t    }\n\t\t\n\t\t    if (null != messageTypes) {\n\t\t\t    foreach ( var amessage in messageTypes.message) {\n\t\t\t\t    Results.Add(string.Format(CultureInfo.InvariantCulture, \"{0}:{1}\", amessage.code, amessage.text));\n\t\t\t    }\n\t\t    }\n\t    }\n\n\t    public List<string> GetResults() {\n\t\t    return Results;\n\t    }\n\n\t    private messagesType GetResultMessage() {\n\t\t    messagesType messageTypes = null;\n\t\t\n\t\t    if ( null != GetErrorResponse())\n\t\t    {\n\t\t\t    messageTypes = GetErrorResponse().messages;\n\t\t    } else if ( null != GetApiResponse()) {\n\t\t\t    messageTypes = GetApiResponse().messages;\n\t\t    }\n\n\t\t    return messageTypes;\n\t    }\n\t\n\t    protected List<string> Results = null;\n        protected messageTypeEnum ResultCode = messageTypeEnum.Ok;\n\t\n\t    protected virtual void BeforeExecute() {}\n        protected virtual void AfterExecute() { }\n\n        protected abstract void ValidateRequest();\n\n\t    private void Validate() {\n\n\t\t    ANetApiRequest request = GetApiRequest();\n\t\t\n\t\t    //validate not nulls\n\t        ValidateAndSetMerchantAuthentication();\n\n            //set the client Id\n            SetClientId();\n\n\t\t    //validate nulls\n\t\t    var merchantAuthenticationType = request.merchantAuthentication;\n\t\t    //if ( null != ) throw new IllegalArgumentException(\" needs to be null\");\n\n\t\t    //TODO\n            /*\n\t\t    if ( null != merchantAuthenticationType.Item.GetType().   sessionToken) throw new IllegalArgumentException(\"SessionToken needs to be null\");\n\t\t    if ( null != merchantAuthenticationType.getPass_word()) throw new IllegalArgumentException(\"Pass_word needs to be null\");\n\t\t    if ( null != merchantAuthenticationType.getMobileDeviceId()) throw new IllegalArgumentException(\"MobileDeviceId needs to be null\");\n             \n\t    \n\t        var impersonationAuthenticationType = merchantAuthenticationType.impersonationAuthentication;\n\t\t    if ( null != impersonationAuthenticationType) throw new IllegalArgumentException(\"ImpersonationAuthenticationType needs to be null\");\n            */\n            //\t    impersonationAuthenticationType.setPartnerLoginId(CnpApiLoginIdKey);\n    //\t    impersonationAuthenticationType.setPartnerTransactionKey(CnpTransactionKey);\n    //\t    merchantAuthenticationType.setImpersonationAuthentication(impersonationAuthenticationType);\n\n\t\t    ValidateRequest();\n\t    }\n\n        private void ValidateAndSetMerchantAuthentication()\n        {\n            ANetApiRequest request = GetApiRequest();\n\n            if (null == request.merchantAuthentication) \n            {\n                if (null != ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication)\n                {\n                    request.merchantAuthentication = ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication;\n                }\n                else\n                {\n                    throw new ArgumentException(\"MerchantAuthentication cannot be null\");\n                }\n            }\n        }\n\n        private void SetClientId()\n        {\n            ANetApiRequest request = GetApiRequest();\n            request.clientId = \"sdk-dotnet-\" + Constants.SDKVersion;\n        }\n    }\n#pragma warning restore 1591\n}\n"
  },
  {
    "path": "Authorize.NET/Api/Controllers/Bases/ErrorResponse.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.Bases\n{\n    using System.Text;\n    using AuthorizeNet.Api.Contracts.V1;\n\n    //@XmlRootElement(name = \"ErrorResponse\")\n    /**\n     * Since JAXB does not generate the class for this element, custom coding it\n     * @author ramittal\n     *\n     */\n    abstract class ErrorResponse : ANetApiResponse {\n\n\t    public new string ToString() {\n\t\t     var builder = new StringBuilder();\n\t\t     builder.Append(\"ErrorResponse: \");\n\t\t     builder.Append(base.ToString());\n\t\t     builder.Append(\", Id: \").Append( refId);\n\t\t     builder.Append(\", SessionToken: \").Append(sessionToken);\n\t\t     var messagesType = messages;\n\t\t     builder.Append(\", MessagesType: \");\n\t\t     if ( null != messagesType)\n\t\t     {\n\t\t\t     builder.Append(\", ResultCode:\").Append(messagesType.resultCode);\n                 var resultMessages = messagesType.message;\n\t\t\t     if ( null != resultMessages) {\n                     foreach (var message in resultMessages)\n                     {\n\t\t\t\t\t     builder.Append(\", Message-> \");\n\t\t\t\t\t     builder.Append(\", Code: \").Append(message.code);\n\t\t\t\t\t     builder.Append(\", Text: \").Append(message.text);\n\t\t\t\t     }\n\t\t\t     }\n\t\t     }\n\t\t    \n\t         return builder.ToString();\n       }\n    }\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/Bases/IApiOperation.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.Bases\n{\n    using System.Collections.Generic;\n\n    /**\n     * @author ramittal\n     *\n     */\n#pragma warning disable 1591\n    public interface IApiOperation<TQ, TS>  \n        where TQ : AuthorizeNet.Api.Contracts.V1.ANetApiRequest \n        where TS : AuthorizeNet.Api.Contracts.V1.ANetApiResponse\n\t{\n        TS GetApiResponse();\n        AuthorizeNet.Api.Contracts.V1.ANetApiResponse GetErrorResponse();\n        TS ExecuteWithApiResponse(AuthorizeNet.Environment environment = null);\n        void Execute(AuthorizeNet.Environment environment = null);\n        AuthorizeNet.Api.Contracts.V1.messageTypeEnum GetResultCode();\n        List<string> GetResults();\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/authenticateTestController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class authenticateTestController : ApiOperationBase<authenticateTestRequest, authenticateTestResponse> {\n\n\t    public authenticateTestController(authenticateTestRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.authenticateTestRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/createCustomerPaymentProfileController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class createCustomerPaymentProfileController : ApiOperationBase<createCustomerPaymentProfileRequest, createCustomerPaymentProfileResponse> {\n\n\t    public createCustomerPaymentProfileController(createCustomerPaymentProfileRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.createCustomerPaymentProfileRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/createCustomerProfileController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class createCustomerProfileController : ApiOperationBase<createCustomerProfileRequest, createCustomerProfileResponse> {\n\n\t    public createCustomerProfileController(createCustomerProfileRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.createCustomerProfileRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/createCustomerProfileFromTransactionController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class createCustomerProfileFromTransactionController : ApiOperationBase<createCustomerProfileFromTransactionRequest, createCustomerProfileResponse>\n    {\n\n        public createCustomerProfileFromTransactionController(createCustomerProfileFromTransactionRequest apiRequest)\n            : base(apiRequest)\n        {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n            if (null == request.transId) throw new ArgumentException(\"transactionId cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/createCustomerProfileTransactionController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class createCustomerProfileTransactionController : ApiOperationBase<createCustomerProfileTransactionRequest, createCustomerProfileTransactionResponse> {\n\n\t    public createCustomerProfileTransactionController(createCustomerProfileTransactionRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n            if (null == request.transaction) throw new ArgumentException(\"transaction cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/createCustomerShippingAddressController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class createCustomerShippingAddressController : ApiOperationBase<createCustomerShippingAddressRequest, createCustomerShippingAddressResponse> {\n\n\t    public createCustomerShippingAddressController(createCustomerShippingAddressRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/createFingerPrintController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class createFingerPrintController : ApiOperationBase<createFingerPrintRequest, createFingerPrintResponse> {\n\n\t    public createFingerPrintController(createFingerPrintRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n            if (null == request.supportInformation) throw new ArgumentException(\"supportInformation cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.createFingerPrintRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/createProfileController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class createProfileController\n        //: ApiOperationBase<createProfileRequest, createProfileResponse> \n    {\n\n        public createProfileController(customerProfilePaymentType apiRequest)// : base(apiRequest) \n        {\n\t    }\n\n\t    //override \n        protected void ValidateRequest() {\n            //var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        //protected override void BeforeExecute()\n        protected void BeforeExecute()\n        {\n            //var request = GetApiRequest();\n            //RequestFactoryWithSpecified.createProfileType(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/createTransactionController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class createTransactionController : ApiOperationBase<createTransactionRequest, createTransactionResponse> {\n\n\t    public createTransactionController(createTransactionRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.createTransactionRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/decryptPaymentDataController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class decryptPaymentDataController : ApiOperationBase<decryptPaymentDataRequest, decryptPaymentDataResponse> {\n\n\t    public decryptPaymentDataController(decryptPaymentDataRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.decryptPaymentDataRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/deleteCustomerPaymentProfileController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class deleteCustomerPaymentProfileController : ApiOperationBase<deleteCustomerPaymentProfileRequest, deleteCustomerPaymentProfileResponse> {\n\n\t    public deleteCustomerPaymentProfileController(deleteCustomerPaymentProfileRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/deleteCustomerProfileController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class deleteCustomerProfileController : ApiOperationBase<deleteCustomerProfileRequest, deleteCustomerProfileResponse> {\n\n\t    public deleteCustomerProfileController(deleteCustomerProfileRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/deleteCustomerShippingAddressController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class deleteCustomerShippingAddressController : ApiOperationBase<deleteCustomerShippingAddressRequest, deleteCustomerShippingAddressResponse> {\n\n\t    public deleteCustomerShippingAddressController(deleteCustomerShippingAddressRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getAUJobDetailsController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getAUJobDetailsController : ApiOperationBase<getAUJobDetailsRequest, getAUJobDetailsResponse> {\n\n\t    public getAUJobDetailsController(getAUJobDetailsRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getAUJobSummaryController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getAUJobSummaryController : ApiOperationBase<getAUJobSummaryRequest, getAUJobSummaryResponse> {\n\n\t    public getAUJobSummaryController(getAUJobSummaryRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getBatchStatisticsController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getBatchStatisticsController : ApiOperationBase<getBatchStatisticsRequest, getBatchStatisticsResponse> {\n\n\t    public getBatchStatisticsController(getBatchStatisticsRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getCustomerPaymentProfileController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getCustomerPaymentProfileController : ApiOperationBase<getCustomerPaymentProfileRequest, getCustomerPaymentProfileResponse> {\n\n\t    public getCustomerPaymentProfileController(getCustomerPaymentProfileRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getCustomerPaymentProfileListController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getCustomerPaymentProfileListController : ApiOperationBase<getCustomerPaymentProfileListRequest, getCustomerPaymentProfileListResponse> {\n\n\t    public getCustomerPaymentProfileListController(getCustomerPaymentProfileListRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n            if (request.searchType < 0) throw new ArgumentException(\"SearchType cannot be null\");\n            if (request.month == null) throw new ArgumentException(\"month cannot be null\");\n\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.getCustomerPaymentProfileListRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getCustomerPaymentProfileNonceController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getCustomerPaymentProfileNonceController : ApiOperationBase<getCustomerPaymentProfileNonceRequest, getCustomerPaymentProfileNonceResponse> {\n\n        public getCustomerPaymentProfileNonceController(getCustomerPaymentProfileNonceRequest apiRequest) : base(apiRequest) {\n        }\n\n        override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\n            //validate required fields\t\t\n            //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n            //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\n            //validate not-required fields           \t \t\n        }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            // RequestFactoryWithSpecified.getCustomerPaymentProfileNonceType(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getCustomerProfileController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getCustomerProfileController : ApiOperationBase<getCustomerProfileRequest, getCustomerProfileResponse> {\n\n\t    public getCustomerProfileController(getCustomerProfileRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getCustomerProfileIdsController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getCustomerProfileIdsController : ApiOperationBase<getCustomerProfileIdsRequest, getCustomerProfileIdsResponse> {\n\n\t    public getCustomerProfileIdsController(getCustomerProfileIdsRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getCustomerShippingAddressController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getCustomerShippingAddressController : ApiOperationBase<getCustomerShippingAddressRequest, getCustomerShippingAddressResponse> {\n\n\t    public getCustomerShippingAddressController(getCustomerShippingAddressRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getHostedPaymentPageController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getHostedPaymentPageController : ApiOperationBase<getHostedPaymentPageRequest, getHostedPaymentPageResponse> {\n\n\t    public getHostedPaymentPageController(getHostedPaymentPageRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.getHostedPaymentPageRequest(request);\n        }    \n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getHostedProfilePageController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getHostedProfilePageController : ApiOperationBase<getHostedProfilePageRequest, getHostedProfilePageResponse> {\n\n\t    public getHostedProfilePageController(getHostedProfilePageRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getMerchantDetailsController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getMerchantDetailsController : ApiOperationBase<getMerchantDetailsRequest, getMerchantDetailsResponse> {\n\n\t    public getMerchantDetailsController(getMerchantDetailsRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.getMerchantDetailsRequest(request);\n        }    \n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getSettledBatchListController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getSettledBatchListController : ApiOperationBase<getSettledBatchListRequest, getSettledBatchListResponse> {\n\n\t    public getSettledBatchListController(getSettledBatchListRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.getSettledBatchListRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getTransactionDetailsController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getTransactionDetailsController : ApiOperationBase<getTransactionDetailsRequest, getTransactionDetailsResponse> {\n\n\t    public getTransactionDetailsController(getTransactionDetailsRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getTransactionListController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getTransactionListController : ApiOperationBase<getTransactionListRequest, getTransactionListResponse> {\n\n\t    public getTransactionListController(getTransactionListRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getTransactionListForCustomerController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getTransactionListForCustomerController : ApiOperationBase<getTransactionListForCustomerRequest, getTransactionListResponse> {\n\n\t    public getTransactionListForCustomerController(getTransactionListForCustomerRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.getTransactionListForCustomerRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/getUnsettledTransactionListController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class getUnsettledTransactionListController : ApiOperationBase<getUnsettledTransactionListRequest, getUnsettledTransactionListResponse> {\n\n\t    public getUnsettledTransactionListController(getUnsettledTransactionListRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/isAliveController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class isAliveController : ApiOperationBase<ANetApiRequest, isAliveResponse>\n    {\n\n        public isAliveController(ANetApiRequest apiRequest)\n            : base(apiRequest)\n        {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.isAliveRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/logoutController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class logoutController : ApiOperationBase<logoutRequest, logoutResponse> {\n\n\t    public logoutController(logoutRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.logoutRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/mobileDeviceLoginController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class mobileDeviceLoginController : ApiOperationBase<mobileDeviceLoginRequest, mobileDeviceLoginResponse> {\n\n\t    public mobileDeviceLoginController(mobileDeviceLoginRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/mobileDeviceRegistrationController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class mobileDeviceRegistrationController : ApiOperationBase<mobileDeviceRegistrationRequest, mobileDeviceRegistrationResponse> {\n\n\t    public mobileDeviceRegistrationController(mobileDeviceRegistrationRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.mobileDeviceRegistrationRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/securePaymentContainerController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class securePaymentContainerController : ApiOperationBase<securePaymentContainerRequest, securePaymentContainerResponse> {\n\n\t    public securePaymentContainerController(securePaymentContainerRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.securePaymentContainerRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/sendCustomerTransactionReceiptController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class sendCustomerTransactionReceiptController : ApiOperationBase<sendCustomerTransactionReceiptRequest, sendCustomerTransactionReceiptResponse> {\n\n\t    public sendCustomerTransactionReceiptController(sendCustomerTransactionReceiptRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/transactionController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class transactionController\n    //: ApiOperationBase<transactionRequestType, transactionResponse> \n    {\n\n\t    public transactionController(transactionRequestType apiRequest) \n            //: base(apiRequest) \n        {\n\t    }\n\n\t    //override\n        protected void ValidateRequest() {\n            //var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        //protected override void BeforeExecute()\n        protected void BeforeExecute()\n        {\n            //var request = GetApiRequest();\n            //RequestFactoryWithSpecified.transactionRequestType(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/transactionResponseEmvController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class transactionResponseEmvController : ApiOperationBase<transactionResponseEmvRequest, transactionResponseEmvResponse> {\n\n\t    public transactionResponseEmvController(transactionResponseEmvRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.transactionResponseEmvType(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/updateCustomerPaymentProfileController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class updateCustomerPaymentProfileController : ApiOperationBase<updateCustomerPaymentProfileRequest, updateCustomerPaymentProfileResponse> {\n\n\t    public updateCustomerPaymentProfileController(updateCustomerPaymentProfileRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.updateCustomerPaymentProfileRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/updateCustomerProfileController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class updateCustomerProfileController : ApiOperationBase<updateCustomerProfileRequest, updateCustomerProfileResponse> {\n\n\t    public updateCustomerProfileController(updateCustomerProfileRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.updateCustomerProfileRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/updateCustomerShippingAddressController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class updateCustomerShippingAddressController : ApiOperationBase<updateCustomerShippingAddressRequest, updateCustomerShippingAddressResponse> {\n\n\t    public updateCustomerShippingAddressController(updateCustomerShippingAddressRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/updateHeldTransactionController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class updateHeldTransactionController : ApiOperationBase<updateHeldTransactionRequest, updateHeldTransactionResponse> {\n\n\t    public updateHeldTransactionController(updateHeldTransactionRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.updateHeldTransactionRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/updateMerchantDetailsController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class updateMerchantDetailsController : ApiOperationBase<updateMerchantDetailsRequest, updateMerchantDetailsResponse> {\n\n\t    public updateMerchantDetailsController(updateMerchantDetailsRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n\n        protected override void BeforeExecute()\n        {\n            var request = GetApiRequest();\n            RequestFactoryWithSpecified.updateMerchantDetailsRequest(request);\n        }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/updateSplitTenderGroupController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class updateSplitTenderGroupController : ApiOperationBase<updateSplitTenderGroupRequest, updateSplitTenderGroupResponse> {\n\n\t    public updateSplitTenderGroupController(updateSplitTenderGroupRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/Api/Controllers/validateCustomerPaymentProfileController.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public class validateCustomerPaymentProfileController : ApiOperationBase<validateCustomerPaymentProfileRequest, validateCustomerPaymentProfileResponse> {\n\n\t    public validateCustomerPaymentProfileController(validateCustomerPaymentProfileRequest apiRequest) : base(apiRequest) {\n\t    }\n\n\t    override protected void ValidateRequest() {\n            var request = GetApiRequest();\n\t\t\n\t\t    //validate required fields\t\t\n\t\t    //if ( 0 == request.SearchType) throw new ArgumentException( \"SearchType cannot be null\");\n\t\t    //if ( null == request.Paging) throw new ArgumentException(\"Paging cannot be null\");\n\t\t\n\t\t    //validate not-required fields\t\t\n\t    }\n    }\n#pragma warning restore 1591\n}"
  },
  {
    "path": "Authorize.NET/AuthorizeNET.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProductVersion>9.0.30729</ProductVersion>\n    <SchemaVersion>2.0</SchemaVersion>\n    <ProjectGuid>{5D52EAEC-42FB-4313-83B8-69E2F55EBF14}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>AuthorizeNet</RootNamespace>\n    <AssemblyName>AuthorizeNet</AssemblyName>\n    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <TargetFrameworkProfile />\n    <FileUpgradeFlags>\n    </FileUpgradeFlags>\n    <UpgradeBackupLocation>\n    </UpgradeBackupLocation>\n    <OldToolsVersion>3.5</OldToolsVersion>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <PlatformTarget>AnyCPU</PlatformTarget>\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin/Debug/</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <DocumentationFile>bin/Debug/AuthorizeNet.XML</DocumentationFile>\n    <NoWarn>0219,1591,1635</NoWarn>\n    <Prefer32Bit>false</Prefer32Bit>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <PlatformTarget>AnyCPU</PlatformTarget>\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin/Release</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <DocumentationFile>bin/Release/AuthorizeNet.XML</DocumentationFile>\n    <Prefer32Bit>false</Prefer32Bit>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Core\" />\n    <Reference Include=\"System.Web\" />\n    <Reference Include=\"System.Xml.Linq\" />\n    <Reference Include=\"System.Data.DataSetExtensions\" />\n    <Reference Include=\"System.Data\" />\n    <Reference Include=\"System.Xml\" />\n    <Reference Include=\"System.Configuration\" />\n    <Reference Include=\"System.Security\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Include=\"Environment.cs\" />\n    <Compile Include=\"MarketType.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n    <Compile Include=\"TestFriends.cs\" />\n    <Compile Include=\"Api\\Contracts\\V1\\*.cs\" />\n    <Compile Include=\"Api\\Controllers\\ARBCancelSubscriptionController.cs\" />\n    <Compile Include=\"Api\\Controllers\\ARBCreateSubscriptionController.cs\" />\n    <Compile Include=\"Api\\Controllers\\ARBGetSubscriptionController.cs\" />\n    <Compile Include=\"Api\\Controllers\\ARBGetSubscriptionListController.cs\" />\n    <Compile Include=\"Api\\Controllers\\ARBGetSubscriptionStatusController.cs\" />\n    <Compile Include=\"Api\\Controllers\\ARBUpdateSubscriptionController.cs\" />\n    <Compile Include=\"Api\\Controllers\\authenticateTestController.cs\" />\n    <Compile Include=\"Api\\Controllers\\createCustomerPaymentProfileController.cs\" />\n    <Compile Include=\"Api\\Controllers\\createCustomerProfileController.cs\" />\n    <Compile Include=\"Api\\Controllers\\createCustomerProfileFromTransactionController.cs\" />\n    <Compile Include=\"Api\\Controllers\\createCustomerProfileTransactionController.cs\" />\n    <Compile Include=\"Api\\Controllers\\createCustomerShippingAddressController.cs\" />\n    <Compile Include=\"Api\\Controllers\\createProfileController.cs\" />\n    <Compile Include=\"Api\\Controllers\\createTransactionController.cs\" />\n    <Compile Include=\"Api\\Controllers\\decryptPaymentDataController.cs\" />\n    <Compile Include=\"Api\\Controllers\\deleteCustomerPaymentProfileController.cs\" />\n    <Compile Include=\"Api\\Controllers\\deleteCustomerProfileController.cs\" />\n    <Compile Include=\"Api\\Controllers\\deleteCustomerShippingAddressController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getAUJobDetailsController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getAUJobSummaryController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getBatchStatisticsController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getCustomerPaymentProfileController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getCustomerPaymentProfileListController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getCustomerPaymentProfileNonceController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getCustomerProfileController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getCustomerProfileIdsController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getCustomerShippingAddressController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getHostedPaymentPageController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getHostedProfilePageController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getMerchantDetailsController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getSettledBatchListController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getTransactionDetailsController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getTransactionListController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getTransactionListForCustomerController.cs\" />\n    <Compile Include=\"Api\\Controllers\\getUnsettledTransactionListController.cs\" />\n    <Compile Include=\"Api\\Controllers\\isAliveController.cs\" />\n    <Compile Include=\"Api\\Controllers\\logoutController.cs\" />\n    <Compile Include=\"Api\\Controllers\\mobileDeviceLoginController.cs\" />\n    <Compile Include=\"Api\\Controllers\\mobileDeviceRegistrationController.cs\" />\n    <Compile Include=\"Api\\Controllers\\securePaymentContainerController.cs\" />\n    <Compile Include=\"Api\\Controllers\\sendCustomerTransactionReceiptController.cs\" />\n    <Compile Include=\"Api\\Controllers\\transactionController.cs\" />\n    <Compile Include=\"Api\\Controllers\\updateCustomerPaymentProfileController.cs\" />\n    <Compile Include=\"Api\\Controllers\\updateCustomerProfileController.cs\" />\n    <Compile Include=\"Api\\Controllers\\updateCustomerShippingAddressController.cs\" />\n    <Compile Include=\"Api\\Controllers\\updateHeldTransactionController.cs\" />\n    <Compile Include=\"Api\\Controllers\\updateMerchantDetailsController.cs\" />\n    <Compile Include=\"Api\\Controllers\\updateSplitTenderGroupController.cs\" />\n    <Compile Include=\"Api\\Controllers\\validateCustomerPaymentProfileController.cs\" />\n    <Compile Include=\"Api\\Controllers\\Bases\\*.cs\" />\n    <Compile Include=\"Utility\\AnetRandom.cs\" />\n    <Compile Include=\"Utility\\CryptoRandom.cs\" />\n    <Compile Include=\"Util\\*.cs\" />\n    <Compile Include=\"Utility\\AnetApiSchema.generated.cs\" />\n    <Compile Include=\"Utility\\ApiFields.cs\" />\n  </ItemGroup>\n  <ItemGroup />\n  <ItemGroup>\n    <None Include=\"Api\\ControllerTemplate.cst\" />\n  </ItemGroup>\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <!--Import Project=\"$(MSBuildBinPath)\\Microsoft.CSharp.targets\" /-->\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>"
  },
  {
    "path": "Authorize.NET/Environment.cs",
    "content": "namespace AuthorizeNet \n{\n    using System;\n    using System.Configuration;\n    using System.Linq;\n\n    /*================================================================================\n    * \n    * Determines the target environment to post transactions.\n    *\n    * SANDBOX should be used for testing. Transactions submitted to the sandbox \n    * will not result in an actual card payment. Instead, the sandbox simulates \n    * the response. Use the Testing Guide to generate specific gateway responses.\n    *\n    * PRODUCTION connects to the production gateway environment.\n    *\n    *===============================================================================*/\n\n    public class Environment {\n        public static readonly Environment SANDBOX = new Environment(\"https://test.authorize.net\", \"https://apitest.authorize.net\", \"https://test.authorize.net\");\n        public static readonly Environment PRODUCTION = new Environment(\"https://secure2.authorize.net\",\"https://api2.authorize.net\",\"https://cardpresent.authorize.net\");\n        public static readonly Environment LOCAL_VM = new Environment(null, null, null);\n        public static readonly Environment HOSTED_VM = new Environment(null, null, null);\n        public static Environment CUSTOM = new Environment(null, null, null);\n\n        private String _baseUrl;\n        private String _xmlBaseUrl;\n        private String _cardPresentUrl;\n\n        private Environment(String baseUrl, String xmlBaseUrl, String cardPresentUrl) {\n            _baseUrl = baseUrl;\n            _xmlBaseUrl = xmlBaseUrl;\n            _cardPresentUrl = cardPresentUrl;\n        }\n\n        /**\n         * @return the baseUrl\n         */\n        public String getBaseUrl() {\n            return _baseUrl;\n        }\n\n        /**\n         * @return the xmlBaseUrl\n         */\n        public String getXmlBaseUrl() {\n            return _xmlBaseUrl;\n        }\n\n        /**\n         * @return the cardPresentUrl\n         */\n        public String getCardPresentUrl() {\n            return _cardPresentUrl;\n        }\n\n        /**\n         * If a custom environment needs to be supported, this convenience create\n         * method can be used to pass in a custom baseUrl.\n         *\n         * @param baseUrl\n         * @param xmlBaseUrl\n         * @return Environment object\n         */\n        public static Environment createEnvironment(String baseUrl, String xmlBaseUrl) {\n\n            return createEnvironment( baseUrl, xmlBaseUrl, null);\n        }\n\n        /**\n         * If a custom environment needs to be supported, this convenience create\n         * method can be used to pass in a custom baseUrl.\n         *\n         * @param baseUrl\n         * @param xmlBaseUrl\n         * @param cardPresentUrl\n         *\n         * @return Environment object\n         */\n        public static Environment createEnvironment(String baseUrl, String xmlBaseUrl, String cardPresentUrl) {\n            var environment = Environment.CUSTOM;\n            environment._baseUrl = baseUrl;\n            environment._xmlBaseUrl = xmlBaseUrl;\n            environment._cardPresentUrl = cardPresentUrl;\n\n            return environment;\n        }\n    \n        /**\n         * Reads a integer value from property file and/or the environment\n         * Values in property file supersede the values set in environment\n         * @param propertyName name of the integer property to read\n         * @return int property value\n         */\n        public static int getIntProperty( String propertyName) \n        {\n            var stringValue = GetProperty(propertyName);\n            var value = (AuthorizeNet.Util.StringUtils.ParseInt(stringValue));\n        \n            return value;\n        }\n\n        /**\n         * Reads a boolean value from property file and/or the environment\n         * Values in property file supersede the values set in environment\n         * @param propertyName name of the boolean property to read\n         * @return boolean property value\n         */\n        public static bool getBooleanProperty( String propertyName) \n        {\n            var value = false;\n            var stringValue = GetProperty(propertyName);\n            if ( null != stringValue)\n            {\n                Boolean.TryParse(stringValue.Trim(), out value); \n            }\n        \n            return value;\n        }\n\n        private static object mutex = new object();\n\n        /// <summary>\n        /// Reads the value from property file and/or the environment \n        /// Values in property file supersede the values set in environmen\n        /// </summary>\n        /// <param name=\"propertyName\">propertyName name of the property to read</param>\n        /// <returns>String property value</returns>\n        public static String GetProperty(String propertyName) {\n            String stringValue = null;\n            String propValue = null;\n\n            lock(mutex) {\n                if (!string.IsNullOrEmpty(ConfigurationManager.AppSettings.Get(propertyName)))\n                {\n                    propValue = ConfigurationManager.AppSettings.Get(propertyName);\n                }\n            }\n\n            var envValue = System.Environment.GetEnvironmentVariable(propertyName);\n            if ( null != propValue && propValue.Trim().Length > 0 )\n            {\n                stringValue = propValue;\n            }\n            else if ( null != envValue && envValue.Trim().Length > 0 )\n            {\n                stringValue = envValue;\n            }\n            return stringValue;\n        }\n    }\n}"
  },
  {
    "path": "Authorize.NET/MarketType.cs",
    "content": "namespace AuthorizeNet\n{\n    #pragma warning disable 1591\n    \n    // MarketType is used for Card Present transactions.\n    public enum MarketType {\n\t    RETAIL = 2,\n\n\t}\n    #pragma warning disable 1591\n}"
  },
  {
    "path": "Authorize.NET/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// General Information about an assembly is controlled through the following \n// set of attributes. Change these attribute values to modify the information\n// associated with an assembly.\n[assembly: AssemblyTitle(\"Official .NET SDK for Authorize.Net\")]\n[assembly: AssemblyDescription(\"\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"Visa Inc\")]\n[assembly: AssemblyProduct(\"Official .NET SDK for Authorize.Net\")]\n[assembly: AssemblyCopyright(\"Copyright © Visa Inc 2018\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n\n// Setting ComVisible to false makes the types in this assembly not visible \n// to COM components.  If you need to access a type in this assembly from \n// COM, set the ComVisible attribute to true on that type.\n[assembly: ComVisible(false)]\n\n// The following GUID is for the ID of the typelib if this project is exposed to COM\n[assembly: Guid(\"135241b2-017e-4f07-aca1-e71887b470ab\")]\n\n// Version information for an assembly consists of the following four values:\n//\n//      Major Version\n//      Minor Version \n//      Build Number\n//      Revision\n//\n// See AssemblyFileVersion.cs for Product and Assembly Version\n//[assembly: AssemblyVersion(\"2.0.4.0\")]\n[assembly: AssemblyFileVersion(\"2.0.5.0\")]\n[assembly: AssemblyVersion(\"2.0.5.0\")]\n\n"
  },
  {
    "path": "Authorize.NET/TestFriends.cs",
    "content": "﻿[assembly: System.Runtime.CompilerServices.InternalsVisibleTo(\"AuthorizeNETtest\")]"
  },
  {
    "path": "Authorize.NET/Util/Constants.cs",
    "content": "namespace AuthorizeNet.Util\n{\n#pragma warning disable 1591\n    public static class Constants {\n\t    public const string ProxyProtocol = \"http\";\n\n\t    public const string HttpsUseProxy = \"https.proxyUse\";\n\t    public const string HttpsProxyHost = \"https.proxyHost\";\n\t    public const string HttpsProxyPort = \"https.proxyPort\";\n\n\t    public const string HttpUseProxy = \"http.proxyUse\";\n\t    public const string HttpProxyHost = \"http.proxyHost\";\n\t    public const string HttpProxyPort = \"http.proxyPort\";\n\t\n\t    public const string EnvApiLoginid = \"API_LOGIN_ID\";\n\t    public const string EnvTransactionKey = \"TRANSACTION_KEY\";\n\t    public const string EnvMd5Hashkey = \"MD5_HASH_KEY\";\n\n\t    public const string PropApiLoginid = \"api.login.id\";\n\t    public const string PropTransactionKey = \"transaction.key\";\n\t    public const string PropMd5Hashkey = \"md5.hash.key\";\n\n        public const string HttpConnectionTimeout = \"http.connectionTimeout\";\n        public const string HttpReadWriteTimeout = \"http.readWriteTimeout\";\n\n        public const int HttpConnectionDefaultTimeout = 30000;\n        public const int HttpReadWriteDefaultTimeout = 30000;\n\n        public const string SDKVersion = \"2.0.5\";\n\n    }\n#pragma warning restore 1591\n}\n"
  },
  {
    "path": "Authorize.NET/Util/EnumHelper.cs",
    "content": "﻿namespace AuthorizeNet.Util\n{\n    using System;\n    using System.ComponentModel;\n\n#pragma warning disable 1591\n    //@deprecated since version 1.9.8  \n    //@deprecated Since it is not using by New model Code\n    [Obsolete(\"Since the classes using it are deprecated\", false)]\n    public class EnumHelper\n    {\n\n        public static string GetEnumDescription(Enum value)\n        {\n            string description = value.ToString();\n\n            var fi = value.GetType().GetField(value.ToString());\n\n            var attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);\n            // ReSharper disable ConditionIsAlwaysTrueOrFalse\n            if (null != attributes && attributes.Length > 0)\n            // ReSharper restore ConditionIsAlwaysTrueOrFalse\n            {\n                description = attributes[0].Description;\n            }\n\n            return description;\n        }\n    }\n#pragma warning restore 1591\n}\n"
  },
  {
    "path": "Authorize.NET/Util/HtmlHelper.cs",
    "content": "﻿using System;\r\nusing System.Text;\r\n\r\nnamespace AuthorizeNet.Util\r\n{\r\n    //@deprecated since version 1.9.8  \r\n    //@deprecated Since it is not using by New model Code\r\n    [Obsolete(\"Since the classes using it are deprecated\", false)]\r\n    class HtmlHelper\r\n    {\r\n        /// <summary>\r\n        /// This will issue a full HTML document with a built-in script, which will redirect the browser away from \r\n        /// Authorize.NET to the URL you pass in. Be sure the toURL is absolute.  This can be used in your DPM Replay Response Endpoint\r\n        /// </summary>\r\n        /// <param name=\"toUrl\"></param>\r\n        /// <returns></returns>\r\n        public static string RelayResponseRedirecter(string toUrl) {\r\n            \r\n            return string.Format(\"<html><head><script type='text/javascript' charset='utf-8'>\twindow.location='{0}';</script><noscript><meta http-equiv='refresh' content='1;url={0}'></noscript></head><body></body></html>\", toUrl);\r\n        \r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "Authorize.NET/Util/HttpUtility.cs",
    "content": "namespace AuthorizeNet.Util\n{\n    using System;\n    using System.IO;\n    using System.Net;\n    using System.Text;\n    using System.Xml;\n    using System.Xml.Serialization;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n\n#pragma warning disable 1591\n    public static class HttpUtility {\n\n        //Max response size allowed: 64 MB\n        private const int MaxResponseLength = 67108864;\n\t    private static readonly Log Logger = LogFactory.getLog(typeof(HttpUtility));\n        private static bool _proxySet;// = false;\n\n        static readonly bool UseProxy = AuthorizeNet.Environment.getBooleanProperty(Constants.HttpsUseProxy);\n        static readonly String ProxyHost = AuthorizeNet.Environment.GetProperty(Constants.HttpsProxyHost);\n        static readonly int ProxyPort = AuthorizeNet.Environment.getIntProperty(Constants.HttpsProxyPort);\n\n        private static Uri GetPostUrl(AuthorizeNet.Environment env) \n\t    {\n\t\t    var postUrl = new Uri(env.getXmlBaseUrl() + \"/xml/v1/request.api\");\n            Logger.debug(string.Format(\"Creating PostRequest Url: '{0}'\", postUrl));\n\n\t\t    return postUrl;\n\t    }\n\n        public static ANetApiResponse PostData<TQ, TS>(AuthorizeNet.Environment env, TQ request) \n            where TQ : ANetApiRequest \n            where TS : ANetApiResponse\n        {\n            ANetApiResponse response = null;\n            if (null == request)\n            {\n                throw new ArgumentNullException(\"request\");\n            }\n            //Logger.debug(string.Format(\"MerchantInfo->LoginId/TransactionKey: '{0}':'{1}'->{2}\", \n            //request.merchantAuthentication.name, request.merchantAuthentication.ItemElementName, request.merchantAuthentication.Item));\n\t\t\n            // Set Tls to Tls1.2\n            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;\n\n\t    var postUrl = GetPostUrl(env);\n            var webRequest = (HttpWebRequest) WebRequest.Create(postUrl);\n            webRequest.Method = \"POST\";\n            webRequest.ContentType = \"text/xml\";\n            webRequest.KeepAlive = true;\n            webRequest.Proxy = SetProxyIfRequested(webRequest.Proxy);\n\n            //set the http connection timeout \n            var httpConnectionTimeout = AuthorizeNet.Environment.getIntProperty(Constants.HttpConnectionTimeout);\n            webRequest.Timeout = (httpConnectionTimeout != 0 ? httpConnectionTimeout : Constants.HttpConnectionDefaultTimeout);\n\n            //set the time out to read/write from stream\n            var httpReadWriteTimeout = AuthorizeNet.Environment.getIntProperty(Constants.HttpReadWriteTimeout);\n            webRequest.ReadWriteTimeout = (httpReadWriteTimeout != 0 ? httpReadWriteTimeout : Constants.HttpReadWriteDefaultTimeout);\n\n            var requestType = typeof (TQ);\n            var serializer = new XmlSerializer(requestType);\n            using (var writer = new XmlTextWriter(webRequest.GetRequestStream(), Encoding.UTF8))\n\t        {\n\t            serializer.Serialize(writer, request);\n\t        }\n\n            // Get the response\n            String responseAsString = null;\n            Logger.debug(string.Format(\"Retreiving Response from Url: '{0}'\", postUrl));\n            \n            using (var webResponse = webRequest.GetResponse())\n            {\n                Logger.debug(string.Format(\"Received Response: '{0}'\", webResponse));\n\n                using (var responseStream = webResponse.GetResponseStream())\n                {\n                    if (null != responseStream)\n                    {\n                        var result = new StringBuilder();\n\n                        using (var reader = new StreamReader(responseStream))\n                        {\n                            while (!reader.EndOfStream)\n                            {\n                                try\n                                {\n                                    result.Append((char)reader.Read());\n                                }\n                                catch (Exception)\n                                {\n                                    throw new Exception(\"Cannot read response.\");\n                                }\n\n                                if (result.Length >= MaxResponseLength)\n                                {\n                                    throw new Exception(\"response is too long.\");\n                                }\n                            }\n\n                            responseAsString = result.Length > 0 ? result.ToString() : null;\n                        }\n                        Logger.debug(string.Format(\"Response from Stream: '{0}'\", responseAsString));\n                    }\n                }\n            }\n            if (null != responseAsString)\n            {\n                using (var memoryStreamForResponseAsString = new MemoryStream(Encoding.UTF8.GetBytes(responseAsString)))\n                {\n                    var responseType = typeof (TS);\n                    var deSerializer = new XmlSerializer(responseType);\n\n                    Object deSerializedObject;\n                    try\n                    {\n                        // try deserializing to the expected response type\n                        deSerializedObject = deSerializer.Deserialize(memoryStreamForResponseAsString);\n                    }\n                    catch (Exception) \n                    {\n                        // probably a bad response, try if this is an error response\n                        memoryStreamForResponseAsString.Seek(0, SeekOrigin.Begin); //start from beginning of stream\n                        var genericDeserializer = new XmlSerializer(typeof (ANetApiResponse));\n                        deSerializedObject = genericDeserializer.Deserialize(memoryStreamForResponseAsString);\n                    }\n\n                    //if error response\n                    if (deSerializedObject is ErrorResponse)\n                    {\n                        response = deSerializedObject as ErrorResponse;\n                    }\n                    else\n                    {\n                        //actual response of type expected\n                        if (deSerializedObject is TS)\n                        {\n                            response = deSerializedObject as TS;\n                        }\n                        else if (deSerializedObject is ANetApiResponse) //generic response\n                        {\n                            response = deSerializedObject as ANetApiResponse;\n                        }\n                    }\n                }\n            }\n\n            return response;\n\t    }\n\n        public static IWebProxy SetProxyIfRequested(IWebProxy proxy)\n        {\n            var newProxy = proxy as WebProxy;\n\n            if (UseProxy)\n            {\n                var proxyUri = new Uri(string.Format(\"{0}://{1}:{2}\", Constants.ProxyProtocol, ProxyHost, ProxyPort));\n                if (!_proxySet)\n                {\n                    Logger.info(string.Format(\"Setting up proxy to URL: '{0}'\", proxyUri));\n                    _proxySet = true;\n                }\n                if (null == proxy || null == newProxy)\n                {\n                    newProxy = new WebProxy(proxyUri);\n                }\n\n                newProxy.UseDefaultCredentials = true;\n                newProxy.BypassProxyOnLocal = true;\n            }\n            return (newProxy ?? proxy);\n        }\n    }\n\n\n#pragma warning restore 1591\n}\n//http://ecommerce.shopify.com/c/shopify-apis-and-technology/t/c-webrequest-put-and-xml-49458\n//http://www.808.dk/?code-csharp-httpwebrequest\n"
  },
  {
    "path": "Authorize.NET/Util/LogHelper.cs",
    "content": "namespace AuthorizeNet.Util\n{\n    using System;\n    using System.Diagnostics;\n    using System.Globalization;\n\n    /// <summary>\n    /// \n    /// \n    /// </summary>\n    public static class LogHelper {\n\n\t    static LogHelper() {\n\t    }\n\n\t    public static void debug(Log logger, string format, params object[] arguments) {\n\t\t    string logMessage = getMessage(logger, format, arguments);\n\t\t    if ( null != logMessage) { logger.debug(logMessage); }\n\t    }\n\n\t    public static void error(Log logger, string format, params object[]  arguments) {\n\t\t    string logMessage = getMessage(logger, format, arguments);\n\t\t    if ( null != logMessage) { logger.error(logMessage); }\n\t    }\n\t\n\t    public static void info(Log logger, string format, params object[]  arguments) {\n\t\t    string logMessage = getMessage(logger, format, arguments);\n\t\t    if ( null != logMessage) { logger.info(logMessage); }\n\t    }\n\n\t    public static void warn(Log logger, string format, params object[]  arguments) {\n\t\t    string logMessage = getMessage(logger, format, arguments);\n\t\t    if ( null != logMessage) { logger.warn(logMessage); }\n\t    }\n\n\t    private static string getMessage(Log logger, string format, params object[]  arguments) {\n\t\t    string logMessage = null;\n\t\t\n\t\t    if ( null != logger && null != format && 0 < format.Trim().Length) {\n\t\t\t    logMessage = string.Format(CultureInfo.InvariantCulture, format, arguments);\n\t\t\t    //do encoding etc here or output neutralization as necessary \n\t\t    }\n\t\t    return logMessage;\n\t    }\n    }\n\n    public class Log\n    {\n        private static TraceSource traceSource = new TraceSource(\"AnetDotNetSdkTrace\");\n\n        public void error(string logMessage) { Trace(TraceEventType.Error, logMessage); }\n        public void info(string logMessage) { Trace(TraceEventType.Information, logMessage); }\n        public void debug(string logMessage) { Trace(TraceEventType.Verbose, logMessage); }\n        public void warn(string logMessage) { Trace(TraceEventType.Warning, logMessage); }\n\n        public void error(object logMessage) { error(logMessage.ToString()); }\n        public void info(object logMessage)  { info(logMessage.ToString());  }\n        public void debug(object logMessage) { debug(logMessage.ToString()); }\n        public void warn(object logMessage)  { warn(logMessage.ToString());  }\n\n        public static void Trace(TraceEventType eventType, string message)\n        {\n            try\n            {\n                if (traceSource.Switch.ShouldTrace(eventType))\n                {\n                    string tracemessage = string.Format(\"{0}\\t[{1}]\\t{2}\", DateTime.Now.ToString(\"MM/dd/yy HH:mm:ss\"), eventType, message);\n                    foreach (TraceListener listener in traceSource.Listeners)\n                    {\n                        listener.WriteLine(tracemessage);\n                        listener.Flush();\n                    }\n                }\n            }\n            catch (Exception)\n            {\n\n            }\n        }\n    }\n\n    public class LogFactory\n    {\n        private static readonly Log Logger = new Log();\n        public static Log getLog(Type classType)\n        {\n            return Logger;\n        }\n    }\n\n}"
  },
  {
    "path": "Authorize.NET/Util/SensitiveDataConfigType.cs",
    "content": "﻿namespace AuthorizeNet.Util\n{\n    public class SensitiveTag\n    {\n        public string tagName { get; set; }\n        public string pattern { get; set; }\n        public string replacement { get; set; }\n        public bool disableMask { get; set; }\n\n        public SensitiveTag(string tagName, string pattern, string replacement, bool disableMask)\n        {\n            this.tagName = tagName;\n            this.pattern = pattern;\n            this.replacement = replacement;\n            this.disableMask = disableMask;\n        }\n    }\n\n    public static class SensitiveDataConfigType\n    {\n        public static SensitiveTag[] sensitiveTags = new SensitiveTag[]\n        {\n            new SensitiveTag(\"cardCode\", \"\", \"XXX\", false),\n            new SensitiveTag(\"cardNumber\", \"(\\\\p{N}+)(\\\\p{N}{4})\", \"XXXX-$2\", false),\n            new SensitiveTag(\"expirationDate\", \"\", \"XXX\", false),\n            new SensitiveTag(\"accountNumber\", \"(\\\\p{N}+)(\\\\p{N}{4})\", \"XXXX-$2\", false),\n            new SensitiveTag(\"nameOnAccount\", \"\", \"XXX\", false),\n            new SensitiveTag(\"transactionKey\", \"\", \"XXX\", false)\n        };\n\n        public static string[] sensitiveStringRegexes = new string[] {\n            \"4\\\\p{N}{3}([\\\\ \\\\-]?)\\\\p{N}{4}\\\\1\\\\p{N}{4}\\\\1\\\\p{N}{4}\",\n            \"4\\\\p{N}{3}([\\\\ \\\\-]?)(?:\\\\p{N}{4}\\\\1){2}\\\\p{N}(?:\\\\p{N}{3})?\",\n            \"5[1-5]\\\\p{N}{2}([\\\\ \\\\-]?)\\\\p{N}{4}\\\\1\\\\p{N}{4}\\\\1\\\\p{N}{4}\",\n            \"6(?:011|22(?:1(?=[\\\\ \\\\-]?(?:2[6-9]|[3-9]))|[2-8]|9(?=[\\\\ \\\\-]?(?:[01]|2[0-5])))|4[4-9]\\\\p{N}|5\\\\p{N}\\\\p{N})([\\\\ \\\\-]?)\\\\p{N}{4}\\\\1\\\\p{N}{4}\\\\1\\\\p{N}{4}\",\n            \"35(?:2[89]|[3-8]\\\\p{N})([\\\\ \\\\-]?)\\\\p{N}{4}\\\\1\\\\p{N}{4}\\\\1\\\\p{N}{4}\",\n            \"3[47]\\\\p{N}\\\\p{N}([\\\\ \\\\-]?)\\\\p{N}{6}\\\\1\\\\p{N}{5}\"};\n    }\n}\n"
  },
  {
    "path": "Authorize.NET/Util/SensitiveDataConsoleLogger.cs",
    "content": "﻿namespace AuthorizeNet.Util\n{\n    using System;\n\n    public class SensitiveDataConsoleLogger : SensitiveDataTextLogger\n    {\n        public SensitiveDataConsoleLogger() : base (Console.Out) {\n        }\n\n        public SensitiveDataConsoleLogger(bool useErrorStream) : base (useErrorStream ? Console.Error : Console.Out) {\n        }\n    }\n}\n"
  },
  {
    "path": "Authorize.NET/Util/SensitiveDataTextLogger.cs",
    "content": "﻿namespace AuthorizeNet.Util\n{\n    using System;\n    using System.Diagnostics;\n    using System.Text.RegularExpressions;\n\n    public class SensitiveDataTextLogger : TextWriterTraceListener\n    {\n        private static string[] cardPatterns;\n        private static string[] tagPatterns;\n        private static string[] tagReplacements;\n\n        static SensitiveDataTextLogger()\n        {\n            LoadSensitiveDataConfig();\n        }\n        public SensitiveDataTextLogger(System.IO.Stream stream) : base(stream)\n        {\n        }\n\n        public SensitiveDataTextLogger(System.IO.Stream stream, string name) : base(stream, name)\n        {\n        }\n\n        public SensitiveDataTextLogger(string FileName, string name) : base(FileName, name)\n        {\n        }\n\n        public SensitiveDataTextLogger(string FileName) : base(FileName)\n        {\n        }\n\n        public SensitiveDataTextLogger(System.IO.TextWriter writer, string name) : base(writer, name)\n        {\n        }\n\n        public SensitiveDataTextLogger(System.IO.TextWriter writer) : base(writer)\n        {\n        }\n\n        private static void LoadSensitiveDataConfig()\n        {\n            cardPatterns = SensitiveDataConfigType.sensitiveStringRegexes;\n\n            int noOfSensitiveTags = SensitiveDataConfigType.sensitiveTags.Length;\n            tagPatterns = new string[noOfSensitiveTags];\n            tagReplacements = new string[noOfSensitiveTags];\n\n            for (int i = 0; i < noOfSensitiveTags; i++)\n            {\n                String tagName = SensitiveDataConfigType.sensitiveTags[i].tagName;\n                String pattern = SensitiveDataConfigType.sensitiveTags[i].pattern;\n                String replacement = SensitiveDataConfigType.sensitiveTags[i].replacement;\n\n                if (!String.IsNullOrEmpty(pattern))\n                    tagPatterns[i] = \"<\" + tagName + \">\" + pattern + \"</\" + tagName + \">\";\n                else\n                    tagPatterns[i] = \"<\" + tagName + \">\" + \".+\" + \"</\" + tagName + \">\";\n                tagReplacements[i] = \"<\" + tagName + \">\" + replacement + \"</\" + tagName + \">\";\n            }\n        }\n\n        public override void Write(string Msg)\n        {\n            base.Write(Msg);\n            base.Flush();\n        }\n        public override void WriteLine(string Msg)\n        {\n            string maskXmlMessage = maskSensitiveXmlString(Msg);\n            base.WriteLine(maskCreditCards(maskXmlMessage));\n            base.Flush();\n        }\n\n        public static String maskCreditCards(String str)\n        {\n            for (int i = 0; i < cardPatterns.Length; i++)\n            {\n                str = Regex.Replace(str, cardPatterns[i], \"XXXX\");\n            }\n            return str;\n        }\n\n        public static String maskSensitiveXmlString(String str)\n        {\n            for (int i = 0; i < tagPatterns.Length; i++)\n            {\n                str = Regex.Replace(str, tagPatterns[i], tagReplacements[i]);\n            }\n            return str;\n        }\n    }\n\n}\n"
  },
  {
    "path": "Authorize.NET/Util/StringUtils.cs",
    "content": "namespace AuthorizeNet.Util\n{\n    /// <summary>\n    /// \n    /// </summary>\n    public class StringUtils {\n\n/*\n\t    private static Log _logger = LogFactory.getLog(typeof( StringUtils));\n*/\n\t\n\t    /// <summary>\n\t    /// \n\t    /// </summary>\n\t    /// <param name=\"doublestringValue\"></param>\n\t    /// <returns></returns>\n\t    public static double ParseDouble(string doublestringValue) {\n\t\t    double amount = 0.0;\n\t\t\n\t\t    if ( null != doublestringValue && 0 < doublestringValue.Trim().Length)\n\t\t    {\n\t\t\t    double.TryParse(doublestringValue.Trim(), out amount );\n\t\t    }\n\t\t\n\t\t    return amount;\n\t    }\n\t\n\t    /// <summary>\n\t    /// \n\t    /// </summary>\n\t    /// <param name=\"intstringValue\"></param>\n\t    /// <returns></returns>\n\t    public static int ParseInt(string intstringValue) {\n\t\t    int amount = 0;\n\t\t\n\t\t    if ( null != intstringValue && 0 < intstringValue.Trim().Length)\n\t\t    {\n\t\t\t    int.TryParse(intstringValue.Trim(), out amount);\n\t\t    }\n\t\t\n\t\t    return amount;\n\t    }\n\n\t    /// <summary>\n\t    /// \n\t    /// </summary>\n\t    /// <param name=\"boolstringValue\"></param>\n\t    /// <returns></returns>\n\t    public static bool ParseBool(string boolstringValue) {\n\t\t    bool result = false;\n\t\t\n\t\t    if ( null != boolstringValue && 0 < boolstringValue.Trim().Length)\n\t\t    {\n\t\t\t    bool.TryParse(boolstringValue.Trim(), out result);\n\t\t    }\n\t\t\n\t\t    return result;\n\t    }\n    }\n}"
  },
  {
    "path": "Authorize.NET/Util/XmlUtility.cs",
    "content": "namespace AuthorizeNet.Util\n{\n    using System;\n    using System.IO;\n    using System.Xml.Serialization;\n\n#pragma warning disable 1591\n    public static class XmlUtility {\n\n\t    private static readonly Log Logger = LogFactory.getLog(typeof(XmlUtility));\n\n        public static string GetXml<T>(T entity) //where T: object //MarshalByRefObject //Serializable \n\t    {\n\t        string xmlString;\n\n\t\t    var requestType = typeof (T);\n\t\t    try\n\t\t    {\n                var serializer = new XmlSerializer(requestType);\n                using (var writer = new Utf8StringWriter())\n                {\n\n                    serializer.Serialize(writer, entity);\n                    xmlString = writer.ToString();\n                }\n\t\t    }\n\t\t    catch (Exception e)\n\t\t    {\n                LogHelper.error(Logger, \"Error:'{0}' when serializing object:'{1}' to xml\", e.Message, requestType);\n\t\t        throw;\n\t\t    }\n\t\t\n            return xmlString;\n\t    }\n\n\t    public static T Create<T>(string xml) //where T: object //MarshalByRefObject\n\t    {\n\t\t    var entity = default(T);\n\t\t    //make sure we have not null and not-empty string to de-serialize\n\t\t    if ( null != xml && 0 != xml.Trim().Length)\n\t\t    {\n\t\t        var responseType = typeof (T);\n\t\t        try\n\t\t        {\n\t\t            object deSerializedobject;\n\t\t            var serializer = new XmlSerializer(responseType);\n\t\t            using (var reader = new StringReader(xml))\n\t\t            {\n\t\t                deSerializedobject = serializer.Deserialize(reader);\n\t\t            }\n\n\t\t            if (deSerializedobject is T)\n\t\t            {\n\t\t                entity = (T) deSerializedobject;\n\t\t            }\n\t\t        }\n\t\t        catch (Exception e)\n\t\t        {\n                    LogHelper.error(Logger, \"Error:'{0}' when deserializing the into object:'{1}' from xml:'{2}'\", e.Message, responseType, xml);\n\t\t            throw;\n\t\t        }\n\t\t    }\n\n            return entity;\n\t    }\n    }\n\n    public sealed class Utf8StringWriter : StringWriter\n    {\n        public override System.Text.Encoding Encoding { get { return System.Text.Encoding.UTF8; } }\n    }\n#pragma warning disable 1591\n}"
  },
  {
    "path": "Authorize.NET/Utility/AnetApiSchema.generated.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\n// \n// This source code was auto-generated by xsd, Version=4.6.1055.0.\n// \nnamespace AuthorizeNet.APICore {\n    using System.Xml.Serialization;\n    \n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class decryptPaymentDataRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public opaqueDataType opaqueData;\n        \n        /// <remarks/>\n        public string callId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class opaqueDataType {\n        \n        /// <remarks/>\n        public string dataDescriptor;\n        \n        /// <remarks/>\n        public string dataValue;\n        \n        /// <remarks/>\n        public string dataKey;\n        \n        /// <remarks/>\n        public System.DateTime expirationTimeStamp;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool expirationTimeStampSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class processorType {\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public int id;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"cardType\")]\n        public string[] cardTypes;\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(auDeleteType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(auUpdateType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class auDetailsType {\n        \n        /// <remarks/>\n        public long customerProfileID;\n        \n        /// <remarks/>\n        public long customerPaymentProfileID;\n        \n        /// <remarks/>\n        public string firstName;\n        \n        /// <remarks/>\n        public string lastName;\n        \n        /// <remarks/>\n        public string updateTimeUTC;\n        \n        /// <remarks/>\n        public string auReasonCode;\n        \n        /// <remarks/>\n        public string reasonDescription;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class auDeleteType : auDetailsType {\n        \n        /// <remarks/>\n        public creditCardMaskedType creditCard;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class creditCardMaskedType {\n        \n        /// <remarks/>\n        public string cardNumber;\n        \n        /// <remarks/>\n        public string expirationDate;\n        \n        /// <remarks/>\n        public string cardType;\n        \n        /// <remarks/>\n        public cardArt cardArt;\n        \n        /// <remarks/>\n        public string issuerNumber;\n        \n        /// <remarks/>\n        public bool isPaymentToken;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool isPaymentTokenSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class cardArt {\n        \n        /// <remarks/>\n        public string cardBrand;\n        \n        /// <remarks/>\n        public string cardImageHeight;\n        \n        /// <remarks/>\n        public string cardImageUrl;\n        \n        /// <remarks/>\n        public string cardImageWidth;\n        \n        /// <remarks/>\n        public string cardType;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class auUpdateType : auDetailsType {\n        \n        /// <remarks/>\n        public creditCardMaskedType newCreditCard;\n        \n        /// <remarks/>\n        public creditCardMaskedType oldCreditCard;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class auResponseType {\n        \n        /// <remarks/>\n        public string auReasonCode;\n        \n        /// <remarks/>\n        public long profileCount;\n        \n        /// <remarks/>\n        public string reasonDescription;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerPaymentProfileListItemType {\n        \n        /// <remarks/>\n        public bool defaultPaymentProfile;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool defaultPaymentProfileSpecified;\n        \n        /// <remarks/>\n        public int customerPaymentProfileId;\n        \n        /// <remarks/>\n        public int customerProfileId;\n        \n        /// <remarks/>\n        public customerAddressType billTo;\n        \n        /// <remarks/>\n        public paymentMaskedType payment;\n        \n        /// <remarks/>\n        public string originalNetworkTransId;\n        \n        /// <remarks/>\n        public decimal originalAuthAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool originalAuthAmountSpecified;\n        \n        /// <remarks/>\n        public bool excludeFromAccountUpdater;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool excludeFromAccountUpdaterSpecified;\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerAddressExType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerAddressType : nameAndAddressType {\n        \n        /// <remarks/>\n        public string phoneNumber;\n        \n        /// <remarks/>\n        public string faxNumber;\n        \n        /// <remarks/>\n        public string email;\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerAddressType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerAddressExType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class nameAndAddressType {\n        \n        /// <remarks/>\n        public string firstName;\n        \n        /// <remarks/>\n        public string lastName;\n        \n        /// <remarks/>\n        public string company;\n        \n        /// <remarks/>\n        public string address;\n        \n        /// <remarks/>\n        public string city;\n        \n        /// <remarks/>\n        public string state;\n        \n        /// <remarks/>\n        public string zip;\n        \n        /// <remarks/>\n        public string country;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerAddressExType : customerAddressType {\n        \n        /// <remarks/>\n        public string customerAddressId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class paymentMaskedType {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"bankAccount\", typeof(bankAccountMaskedType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"creditCard\", typeof(creditCardMaskedType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"tokenInformation\", typeof(tokenMaskedType))]\n        public object Item;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class bankAccountMaskedType {\n        \n        /// <remarks/>\n        public bankAccountTypeEnum accountType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool accountTypeSpecified;\n        \n        /// <remarks/>\n        public string routingNumber;\n        \n        /// <remarks/>\n        public string accountNumber;\n        \n        /// <remarks/>\n        public string nameOnAccount;\n        \n        /// <remarks/>\n        public echeckTypeEnum echeckType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool echeckTypeSpecified;\n        \n        /// <remarks/>\n        public string bankName;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum bankAccountTypeEnum {\n        \n        /// <remarks/>\n        checking,\n        \n        /// <remarks/>\n        savings,\n        \n        /// <remarks/>\n        businessChecking,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum echeckTypeEnum {\n        \n        /// <remarks/>\n        PPD,\n        \n        /// <remarks/>\n        WEB,\n        \n        /// <remarks/>\n        CCD,\n        \n        /// <remarks/>\n        TEL,\n        \n        /// <remarks/>\n        ARC,\n        \n        /// <remarks/>\n        BOC,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class tokenMaskedType {\n        \n        /// <remarks/>\n        public string tokenSource;\n        \n        /// <remarks/>\n        public string tokenNumber;\n        \n        /// <remarks/>\n        public string expirationDate;\n        \n        /// <remarks/>\n        public string tokenRequestorId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class CustomerPaymentProfileSorting {\n        \n        /// <remarks/>\n        public CustomerPaymentProfileOrderFieldEnum orderBy;\n        \n        /// <remarks/>\n        public bool orderDescending;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum CustomerPaymentProfileOrderFieldEnum {\n        \n        /// <remarks/>\n        id,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerProfileSummaryType {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string description;\n        \n        /// <remarks/>\n        public string merchantCustomerId;\n        \n        /// <remarks/>\n        public string email;\n        \n        /// <remarks/>\n        public System.DateTime createdDate;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class SubscriptionDetail {\n        \n        /// <remarks/>\n        public int id;\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public ARBSubscriptionStatusEnum status;\n        \n        /// <remarks/>\n        public System.DateTime createTimeStampUTC;\n        \n        /// <remarks/>\n        public string firstName;\n        \n        /// <remarks/>\n        public string lastName;\n        \n        /// <remarks/>\n        public int totalOccurrences;\n        \n        /// <remarks/>\n        public int pastOccurrences;\n        \n        /// <remarks/>\n        public paymentMethodEnum paymentMethod;\n        \n        /// <remarks/>\n        public string accountNumber;\n        \n        /// <remarks/>\n        public string invoice;\n        \n        /// <remarks/>\n        public decimal amount;\n        \n        /// <remarks/>\n        public string currencyCode;\n        \n        /// <remarks/>\n        public int customerProfileId;\n        \n        /// <remarks/>\n        public int customerPaymentProfileId;\n        \n        /// <remarks/>\n        public int customerShippingProfileId;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool customerShippingProfileIdSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum ARBSubscriptionStatusEnum {\n        \n        /// <remarks/>\n        active,\n        \n        /// <remarks/>\n        expired,\n        \n        /// <remarks/>\n        suspended,\n        \n        /// <remarks/>\n        canceled,\n        \n        /// <remarks/>\n        terminated,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum paymentMethodEnum {\n        \n        /// <remarks/>\n        creditCard,\n        \n        /// <remarks/>\n        eCheck,\n        \n        /// <remarks/>\n        payPal,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class ARBGetSubscriptionListSorting {\n        \n        /// <remarks/>\n        public ARBGetSubscriptionListOrderFieldEnum orderBy;\n        \n        /// <remarks/>\n        public bool orderDescending;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum ARBGetSubscriptionListOrderFieldEnum {\n        \n        /// <remarks/>\n        id,\n        \n        /// <remarks/>\n        name,\n        \n        /// <remarks/>\n        status,\n        \n        /// <remarks/>\n        createTimeStampUTC,\n        \n        /// <remarks/>\n        lastName,\n        \n        /// <remarks/>\n        firstName,\n        \n        /// <remarks/>\n        accountNumber,\n        \n        /// <remarks/>\n        amount,\n        \n        /// <remarks/>\n        pastOccurrences,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class Paging {\n        \n        /// <remarks/>\n        public int limit;\n        \n        /// <remarks/>\n        public int offset;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class TransactionListSorting {\n        \n        /// <remarks/>\n        public TransactionListOrderFieldEnum orderBy;\n        \n        /// <remarks/>\n        public bool orderDescending;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum TransactionListOrderFieldEnum {\n        \n        /// <remarks/>\n        id,\n        \n        /// <remarks/>\n        submitTimeUTC,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class heldTransactionRequestType {\n        \n        /// <remarks/>\n        public afdsTransactionEnum action;\n        \n        /// <remarks/>\n        public string refTransId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum afdsTransactionEnum {\n        \n        /// <remarks/>\n        approve,\n        \n        /// <remarks/>\n        decline,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class createProfileResponse {\n        \n        /// <remarks/>\n        public messagesType messages;\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"numericString\", IsNullable=false)]\n        public string[] customerPaymentProfileIdList;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"numericString\", IsNullable=false)]\n        public string[] customerShippingAddressIdList;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class messagesType {\n        \n        /// <remarks/>\n        public messageTypeEnum resultCode;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"message\")]\n        public messagesTypeMessage[] message;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum messageTypeEnum {\n        \n        /// <remarks/>\n        Ok,\n        \n        /// <remarks/>\n        Error,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class messagesTypeMessage {\n        \n        /// <remarks/>\n        public string code;\n        \n        /// <remarks/>\n        public string text;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionResponse {\n        \n        /// <remarks/>\n        public string responseCode;\n        \n        /// <remarks/>\n        public string rawResponseCode;\n        \n        /// <remarks/>\n        public string authCode;\n        \n        /// <remarks/>\n        public string avsResultCode;\n        \n        /// <remarks/>\n        public string cvvResultCode;\n        \n        /// <remarks/>\n        public string cavvResultCode;\n        \n        /// <remarks/>\n        public string transId;\n        \n        /// <remarks/>\n        public string refTransID;\n        \n        /// <remarks/>\n        public string transHash;\n        \n        /// <remarks/>\n        public string testRequest;\n        \n        /// <remarks/>\n        public string accountNumber;\n        \n        /// <remarks/>\n        public string entryMode;\n        \n        /// <remarks/>\n        public string accountType;\n        \n        /// <remarks/>\n        public string splitTenderId;\n        \n        /// <remarks/>\n        public transactionResponsePrePaidCard prePaidCard;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"message\", IsNullable=false)]\n        public transactionResponseMessage[] messages;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"error\", IsNullable=false)]\n        public transactionResponseError[] errors;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"splitTenderPayment\", IsNullable=false)]\n        public transactionResponseSplitTenderPayment[] splitTenderPayments;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]\n        public userField[] userFields;\n        \n        /// <remarks/>\n        public nameAndAddressType shipTo;\n        \n        /// <remarks/>\n        public transactionResponseSecureAcceptance secureAcceptance;\n        \n        /// <remarks/>\n        public transactionResponseEmvResponse emvResponse;\n        \n        /// <remarks/>\n        public string transHashSha2;\n        \n        /// <remarks/>\n        public customerProfileIdType profile;\n        \n        /// <remarks/>\n        public string networkTransId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionResponsePrePaidCard {\n        \n        /// <remarks/>\n        public string requestedAmount;\n        \n        /// <remarks/>\n        public string approvedAmount;\n        \n        /// <remarks/>\n        public string balanceOnCard;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionResponseMessage {\n        \n        /// <remarks/>\n        public string code;\n        \n        /// <remarks/>\n        public string description;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionResponseError {\n        \n        /// <remarks/>\n        public string errorCode;\n        \n        /// <remarks/>\n        public string errorText;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionResponseSplitTenderPayment {\n        \n        /// <remarks/>\n        public string transId;\n        \n        /// <remarks/>\n        public string responseCode;\n        \n        /// <remarks/>\n        public string responseToCustomer;\n        \n        /// <remarks/>\n        public string authCode;\n        \n        /// <remarks/>\n        public string accountNumber;\n        \n        /// <remarks/>\n        public string accountType;\n        \n        /// <remarks/>\n        public string requestedAmount;\n        \n        /// <remarks/>\n        public string approvedAmount;\n        \n        /// <remarks/>\n        public string balanceOnCard;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class userField {\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public string value;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionResponseSecureAcceptance {\n        \n        /// <remarks/>\n        public string SecureAcceptanceUrl;\n        \n        /// <remarks/>\n        public string PayerID;\n        \n        /// <remarks/>\n        public string PayerEmail;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionResponseEmvResponse {\n        \n        /// <remarks/>\n        public string tlvData;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"tag\", IsNullable=false)]\n        public emvTag[] tags;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class emvTag {\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public string value;\n        \n        /// <remarks/>\n        public string formatted;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerProfileIdType {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public string customerAddressId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class returnedItemType {\n        \n        /// <remarks/>\n        public string id;\n        \n        /// <remarks/>\n        public System.DateTime dateUTC;\n        \n        /// <remarks/>\n        public System.DateTime dateLocal;\n        \n        /// <remarks/>\n        public string code;\n        \n        /// <remarks/>\n        public string description;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionDetailsType {\n        \n        /// <remarks/>\n        public string transId;\n        \n        /// <remarks/>\n        public string refTransId;\n        \n        /// <remarks/>\n        public string splitTenderId;\n        \n        /// <remarks/>\n        public System.DateTime submitTimeUTC;\n        \n        /// <remarks/>\n        public System.DateTime submitTimeLocal;\n        \n        /// <remarks/>\n        public string transactionType;\n        \n        /// <remarks/>\n        public string transactionStatus;\n        \n        /// <remarks/>\n        public int responseCode;\n        \n        /// <remarks/>\n        public int responseReasonCode;\n        \n        /// <remarks/>\n        public subscriptionPaymentType subscription;\n        \n        /// <remarks/>\n        public string responseReasonDescription;\n        \n        /// <remarks/>\n        public string authCode;\n        \n        /// <remarks/>\n        public string AVSResponse;\n        \n        /// <remarks/>\n        public string cardCodeResponse;\n        \n        /// <remarks/>\n        public string CAVVResponse;\n        \n        /// <remarks/>\n        public string FDSFilterAction;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"FDSFilter\", IsNullable=false)]\n        public FDSFilterType[] FDSFilters;\n        \n        /// <remarks/>\n        public batchDetailsType batch;\n        \n        /// <remarks/>\n        public orderExType order;\n        \n        /// <remarks/>\n        public decimal requestedAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool requestedAmountSpecified;\n        \n        /// <remarks/>\n        public decimal authAmount;\n        \n        /// <remarks/>\n        public decimal settleAmount;\n        \n        /// <remarks/>\n        public extendedAmountType tax;\n        \n        /// <remarks/>\n        public extendedAmountType shipping;\n        \n        /// <remarks/>\n        public extendedAmountType duty;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"lineItem\", IsNullable=false)]\n        public lineItemType[] lineItems;\n        \n        /// <remarks/>\n        public decimal prepaidBalanceRemaining;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool prepaidBalanceRemainingSpecified;\n        \n        /// <remarks/>\n        public bool taxExempt;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxExemptSpecified;\n        \n        /// <remarks/>\n        public paymentMaskedType payment;\n        \n        /// <remarks/>\n        public customerDataType customer;\n        \n        /// <remarks/>\n        public customerAddressType billTo;\n        \n        /// <remarks/>\n        public nameAndAddressType shipTo;\n        \n        /// <remarks/>\n        public bool recurringBilling;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool recurringBillingSpecified;\n        \n        /// <remarks/>\n        public string customerIP;\n        \n        /// <remarks/>\n        public string product;\n        \n        /// <remarks/>\n        public string entryMode;\n        \n        /// <remarks/>\n        public string marketType;\n        \n        /// <remarks/>\n        public string mobileDeviceId;\n        \n        /// <remarks/>\n        public string customerSignature;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"returnedItem\", IsNullable=false)]\n        public returnedItemType[] returnedItems;\n        \n        /// <remarks/>\n        public solutionType solution;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"tag\", IsNullable=false)]\n        public transactionDetailsTypeTag[] emvDetails;\n        \n        /// <remarks/>\n        public customerProfileIdType profile;\n        \n        /// <remarks/>\n        public extendedAmountType surcharge;\n        \n        /// <remarks/>\n        public string employeeId;\n        \n        /// <remarks/>\n        public extendedAmountType tip;\n        \n        /// <remarks/>\n        public otherTaxType otherTax;\n        \n        /// <remarks/>\n        public nameAndAddressType shipFrom;\n        \n        /// <remarks/>\n        public string networkTransId;\n        \n        /// <remarks/>\n        public string originalNetworkTransId;\n        \n        /// <remarks/>\n        public decimal originalAuthAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool originalAuthAmountSpecified;\n        \n        /// <remarks/>\n        public string authorizationIndicator;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class subscriptionPaymentType {\n        \n        /// <remarks/>\n        public int id;\n        \n        /// <remarks/>\n        public int payNum;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class FDSFilterType {\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public string action;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class batchDetailsType {\n        \n        /// <remarks/>\n        public string batchId;\n        \n        /// <remarks/>\n        public System.DateTime settlementTimeUTC;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool settlementTimeUTCSpecified;\n        \n        /// <remarks/>\n        public System.DateTime settlementTimeLocal;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool settlementTimeLocalSpecified;\n        \n        /// <remarks/>\n        public string settlementState;\n        \n        /// <remarks/>\n        public string paymentMethod;\n        \n        /// <remarks/>\n        public string marketType;\n        \n        /// <remarks/>\n        public string product;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"statistic\", IsNullable=false)]\n        public batchStatisticType[] statistics;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class batchStatisticType {\n        \n        /// <remarks/>\n        public string accountType;\n        \n        /// <remarks/>\n        public decimal chargeAmount;\n        \n        /// <remarks/>\n        public int chargeCount;\n        \n        /// <remarks/>\n        public decimal refundAmount;\n        \n        /// <remarks/>\n        public int refundCount;\n        \n        /// <remarks/>\n        public int voidCount;\n        \n        /// <remarks/>\n        public int declineCount;\n        \n        /// <remarks/>\n        public int errorCount;\n        \n        /// <remarks/>\n        public decimal returnedItemAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool returnedItemAmountSpecified;\n        \n        /// <remarks/>\n        public int returnedItemCount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool returnedItemCountSpecified;\n        \n        /// <remarks/>\n        public decimal chargebackAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool chargebackAmountSpecified;\n        \n        /// <remarks/>\n        public int chargebackCount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool chargebackCountSpecified;\n        \n        /// <remarks/>\n        public int correctionNoticeCount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool correctionNoticeCountSpecified;\n        \n        /// <remarks/>\n        public decimal chargeChargeBackAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool chargeChargeBackAmountSpecified;\n        \n        /// <remarks/>\n        public int chargeChargeBackCount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool chargeChargeBackCountSpecified;\n        \n        /// <remarks/>\n        public decimal refundChargeBackAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool refundChargeBackAmountSpecified;\n        \n        /// <remarks/>\n        public int refundChargeBackCount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool refundChargeBackCountSpecified;\n        \n        /// <remarks/>\n        public decimal chargeReturnedItemsAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool chargeReturnedItemsAmountSpecified;\n        \n        /// <remarks/>\n        public int chargeReturnedItemsCount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool chargeReturnedItemsCountSpecified;\n        \n        /// <remarks/>\n        public decimal refundReturnedItemsAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool refundReturnedItemsAmountSpecified;\n        \n        /// <remarks/>\n        public int refundReturnedItemsCount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool refundReturnedItemsCountSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class orderExType : orderType {\n        \n        /// <remarks/>\n        public string purchaseOrderNumber;\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(orderExType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class orderType {\n        \n        /// <remarks/>\n        public string invoiceNumber;\n        \n        /// <remarks/>\n        public string description;\n        \n        /// <remarks/>\n        public decimal discountAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool discountAmountSpecified;\n        \n        /// <remarks/>\n        public bool taxIsAfterDiscount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxIsAfterDiscountSpecified;\n        \n        /// <remarks/>\n        public string totalTaxTypeCode;\n        \n        /// <remarks/>\n        public string purchaserVATRegistrationNumber;\n        \n        /// <remarks/>\n        public string merchantVATRegistrationNumber;\n        \n        /// <remarks/>\n        public string vatInvoiceReferenceNumber;\n        \n        /// <remarks/>\n        public string purchaserCode;\n        \n        /// <remarks/>\n        public string summaryCommodityCode;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(DataType=\"date\")]\n        public System.DateTime purchaseOrderDateUTC;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool purchaseOrderDateUTCSpecified;\n        \n        /// <remarks/>\n        public string supplierOrderReference;\n        \n        /// <remarks/>\n        public string authorizedContactName;\n        \n        /// <remarks/>\n        public string cardAcceptorRefNumber;\n        \n        /// <remarks/>\n        public string amexDataTAA1;\n        \n        /// <remarks/>\n        public string amexDataTAA2;\n        \n        /// <remarks/>\n        public string amexDataTAA3;\n        \n        /// <remarks/>\n        public string amexDataTAA4;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class extendedAmountType {\n        \n        /// <remarks/>\n        public decimal amount;\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public string description;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class lineItemType {\n        \n        /// <remarks/>\n        public string itemId;\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public string description;\n        \n        /// <remarks/>\n        public decimal quantity;\n        \n        /// <remarks/>\n        public decimal unitPrice;\n        \n        /// <remarks/>\n        public bool taxable;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxableSpecified;\n        \n        /// <remarks/>\n        public string unitOfMeasure;\n        \n        /// <remarks/>\n        public string typeOfSupply;\n        \n        /// <remarks/>\n        public decimal taxRate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxRateSpecified;\n        \n        /// <remarks/>\n        public decimal taxAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxAmountSpecified;\n        \n        /// <remarks/>\n        public decimal nationalTax;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool nationalTaxSpecified;\n        \n        /// <remarks/>\n        public decimal localTax;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool localTaxSpecified;\n        \n        /// <remarks/>\n        public decimal vatRate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool vatRateSpecified;\n        \n        /// <remarks/>\n        public string alternateTaxId;\n        \n        /// <remarks/>\n        public string alternateTaxType;\n        \n        /// <remarks/>\n        public string alternateTaxTypeApplied;\n        \n        /// <remarks/>\n        public decimal alternateTaxRate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool alternateTaxRateSpecified;\n        \n        /// <remarks/>\n        public decimal alternateTaxAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool alternateTaxAmountSpecified;\n        \n        /// <remarks/>\n        public decimal totalAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool totalAmountSpecified;\n        \n        /// <remarks/>\n        public string commodityCode;\n        \n        /// <remarks/>\n        public string productCode;\n        \n        /// <remarks/>\n        public string productSKU;\n        \n        /// <remarks/>\n        public decimal discountRate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool discountRateSpecified;\n        \n        /// <remarks/>\n        public decimal discountAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool discountAmountSpecified;\n        \n        /// <remarks/>\n        public bool taxIncludedInTotal;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxIncludedInTotalSpecified;\n        \n        /// <remarks/>\n        public bool taxIsAfterDiscount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxIsAfterDiscountSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerDataType {\n        \n        /// <remarks/>\n        public customerTypeEnum type;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool typeSpecified;\n        \n        /// <remarks/>\n        public string id;\n        \n        /// <remarks/>\n        public string email;\n        \n        /// <remarks/>\n        public driversLicenseType driversLicense;\n        \n        /// <remarks/>\n        public string taxId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum customerTypeEnum {\n        \n        /// <remarks/>\n        individual,\n        \n        /// <remarks/>\n        business,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class driversLicenseType {\n        \n        /// <remarks/>\n        public string number;\n        \n        /// <remarks/>\n        public string state;\n        \n        /// <remarks/>\n        public string dateOfBirth;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class solutionType {\n        \n        /// <remarks/>\n        public string id;\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public string vendorName;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionDetailsTypeTag {\n        \n        /// <remarks/>\n        public string tagId;\n        \n        /// <remarks/>\n        public string data;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class otherTaxType {\n        \n        /// <remarks/>\n        public decimal nationalTaxAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool nationalTaxAmountSpecified;\n        \n        /// <remarks/>\n        public decimal localTaxAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool localTaxAmountSpecified;\n        \n        /// <remarks/>\n        public decimal alternateTaxAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool alternateTaxAmountSpecified;\n        \n        /// <remarks/>\n        public string alternateTaxId;\n        \n        /// <remarks/>\n        public decimal vatTaxRate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool vatTaxRateSpecified;\n        \n        /// <remarks/>\n        public decimal vatTaxAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool vatTaxAmountSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransactionType {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"profileTransAuthCapture\", typeof(profileTransAuthCaptureType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"profileTransAuthOnly\", typeof(profileTransAuthOnlyType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"profileTransCaptureOnly\", typeof(profileTransCaptureOnlyType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"profileTransPriorAuthCapture\", typeof(profileTransPriorAuthCaptureType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"profileTransRefund\", typeof(profileTransRefundType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"profileTransVoid\", typeof(profileTransVoidType))]\n        public object Item;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransAuthCaptureType : profileTransOrderType {\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransCaptureOnlyType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransAuthOnlyType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransAuthCaptureType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransOrderType : profileTransAmountType {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public string customerShippingAddressId;\n        \n        /// <remarks/>\n        public orderExType order;\n        \n        /// <remarks/>\n        public bool taxExempt;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxExemptSpecified;\n        \n        /// <remarks/>\n        public bool recurringBilling;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool recurringBillingSpecified;\n        \n        /// <remarks/>\n        public string cardCode;\n        \n        /// <remarks/>\n        public string splitTenderId;\n        \n        /// <remarks/>\n        public processingOptions processingOptions;\n        \n        /// <remarks/>\n        public subsequentAuthInformation subsequentAuthInformation;\n        \n        /// <remarks/>\n        public authorizationIndicatorType authorizationIndicatorType;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class processingOptions {\n        \n        /// <remarks/>\n        public bool isFirstRecurringPayment;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool isFirstRecurringPaymentSpecified;\n        \n        /// <remarks/>\n        public bool isFirstSubsequentAuth;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool isFirstSubsequentAuthSpecified;\n        \n        /// <remarks/>\n        public bool isSubsequentAuth;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool isSubsequentAuthSpecified;\n        \n        /// <remarks/>\n        public bool isStoredCredentials;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool isStoredCredentialsSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class subsequentAuthInformation {\n        \n        /// <remarks/>\n        public string originalNetworkTransId;\n        \n        /// <remarks/>\n        public decimal originalAuthAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool originalAuthAmountSpecified;\n        \n        /// <remarks/>\n        public merchantInitTransReasonEnum reason;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool reasonSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum merchantInitTransReasonEnum {\n        \n        /// <remarks/>\n        resubmission,\n        \n        /// <remarks/>\n        delayedCharge,\n        \n        /// <remarks/>\n        reauthorization,\n        \n        /// <remarks/>\n        noShow,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class authorizationIndicatorType {\n        \n        /// <remarks/>\n        public authIndicatorEnum authorizationIndicator;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool authorizationIndicatorSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum authIndicatorEnum {\n        \n        /// <remarks/>\n        pre,\n        \n        /// <remarks/>\n        final,\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransRefundType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransPriorAuthCaptureType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransOrderType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransCaptureOnlyType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransAuthOnlyType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(profileTransAuthCaptureType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransAmountType {\n        \n        /// <remarks/>\n        public decimal amount;\n        \n        /// <remarks/>\n        public extendedAmountType tax;\n        \n        /// <remarks/>\n        public extendedAmountType shipping;\n        \n        /// <remarks/>\n        public extendedAmountType duty;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"lineItems\")]\n        public lineItemType[] lineItems;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransRefundType : profileTransAmountType {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public string customerShippingAddressId;\n        \n        /// <remarks/>\n        public string creditCardNumberMasked;\n        \n        /// <remarks/>\n        public string bankRoutingNumberMasked;\n        \n        /// <remarks/>\n        public string bankAccountNumberMasked;\n        \n        /// <remarks/>\n        public orderExType order;\n        \n        /// <remarks/>\n        public string transId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransPriorAuthCaptureType : profileTransAmountType {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public string customerShippingAddressId;\n        \n        /// <remarks/>\n        public string transId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransCaptureOnlyType : profileTransOrderType {\n        \n        /// <remarks/>\n        public string approvalCode;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransAuthOnlyType : profileTransOrderType {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class profileTransVoidType {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public string customerShippingAddressId;\n        \n        /// <remarks/>\n        public string transId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class paymentProfile {\n        \n        /// <remarks/>\n        public string paymentProfileId;\n        \n        /// <remarks/>\n        public string cardCode;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerProfilePaymentType {\n        \n        /// <remarks/>\n        public bool createProfile;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool createProfileSpecified;\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public paymentProfile paymentProfile;\n        \n        /// <remarks/>\n        public string shippingProfileId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionRequestType {\n        \n        /// <remarks/>\n        public string transactionType;\n        \n        /// <remarks/>\n        public decimal amount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool amountSpecified;\n        \n        /// <remarks/>\n        public string currencyCode;\n        \n        /// <remarks/>\n        public paymentType payment;\n        \n        /// <remarks/>\n        public customerProfilePaymentType profile;\n        \n        /// <remarks/>\n        public solutionType solution;\n        \n        /// <remarks/>\n        public string callId;\n        \n        /// <remarks/>\n        public string terminalNumber;\n        \n        /// <remarks/>\n        public string authCode;\n        \n        /// <remarks/>\n        public string refTransId;\n        \n        /// <remarks/>\n        public string splitTenderId;\n        \n        /// <remarks/>\n        public orderType order;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"lineItem\", IsNullable=false)]\n        public lineItemType[] lineItems;\n        \n        /// <remarks/>\n        public extendedAmountType tax;\n        \n        /// <remarks/>\n        public extendedAmountType duty;\n        \n        /// <remarks/>\n        public extendedAmountType shipping;\n        \n        /// <remarks/>\n        public bool taxExempt;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool taxExemptSpecified;\n        \n        /// <remarks/>\n        public string poNumber;\n        \n        /// <remarks/>\n        public customerDataType customer;\n        \n        /// <remarks/>\n        public customerAddressType billTo;\n        \n        /// <remarks/>\n        public nameAndAddressType shipTo;\n        \n        /// <remarks/>\n        public string customerIP;\n        \n        /// <remarks/>\n        public ccAuthenticationType cardholderAuthentication;\n        \n        /// <remarks/>\n        public transRetailInfoType retail;\n        \n        /// <remarks/>\n        public string employeeId;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"setting\", IsNullable=false)]\n        public settingType[] transactionSettings;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]\n        public userField[] userFields;\n        \n        /// <remarks/>\n        public extendedAmountType surcharge;\n        \n        /// <remarks/>\n        public string merchantDescriptor;\n        \n        /// <remarks/>\n        public subMerchantType subMerchant;\n        \n        /// <remarks/>\n        public extendedAmountType tip;\n        \n        /// <remarks/>\n        public processingOptions processingOptions;\n        \n        /// <remarks/>\n        public subsequentAuthInformation subsequentAuthInformation;\n        \n        /// <remarks/>\n        public otherTaxType otherTax;\n        \n        /// <remarks/>\n        public nameAndAddressType shipFrom;\n        \n        /// <remarks/>\n        public authorizationIndicatorType authorizationIndicatorType;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class paymentType {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"bankAccount\", typeof(bankAccountType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"creditCard\", typeof(creditCardType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"emv\", typeof(paymentEmvType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"encryptedTrackData\", typeof(encryptedTrackDataType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"opaqueData\", typeof(opaqueDataType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"payPal\", typeof(payPalType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"trackData\", typeof(creditCardTrackType))]\n        public object Item;\n        \n        /// <remarks/>\n        public string dataSource;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class bankAccountType {\n        \n        /// <remarks/>\n        public bankAccountTypeEnum accountType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool accountTypeSpecified;\n        \n        /// <remarks/>\n        public string routingNumber;\n        \n        /// <remarks/>\n        public string accountNumber;\n        \n        /// <remarks/>\n        public string nameOnAccount;\n        \n        /// <remarks/>\n        public echeckTypeEnum echeckType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool echeckTypeSpecified;\n        \n        /// <remarks/>\n        public string bankName;\n        \n        /// <remarks/>\n        public string checkNumber;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class creditCardType : creditCardSimpleType {\n        \n        /// <remarks/>\n        public string cardCode;\n        \n        /// <remarks/>\n        public bool isPaymentToken;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool isPaymentTokenSpecified;\n        \n        /// <remarks/>\n        public string cryptogram;\n        \n        /// <remarks/>\n        public string tokenRequestorName;\n        \n        /// <remarks/>\n        public string tokenRequestorId;\n        \n        /// <remarks/>\n        public string tokenRequestorEci;\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(creditCardType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class creditCardSimpleType {\n        \n        /// <remarks/>\n        public string cardNumber;\n        \n        /// <remarks/>\n        public string expirationDate;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class paymentEmvType {\n        \n        /// <remarks/>\n        public object emvData;\n        \n        /// <remarks/>\n        public object emvDescriptor;\n        \n        /// <remarks/>\n        public object emvVersion;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class encryptedTrackDataType {\n        \n        /// <remarks/>\n        public KeyBlock FormOfPayment;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class KeyBlock {\n        \n        /// <remarks/>\n        public KeyValue Value;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class KeyValue {\n        \n        /// <remarks/>\n        public EncodingType Encoding;\n        \n        /// <remarks/>\n        public EncryptionAlgorithmType EncryptionAlgorithm;\n        \n        /// <remarks/>\n        public KeyManagementScheme Scheme;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum EncodingType {\n        \n        /// <remarks/>\n        Base64,\n        \n        /// <remarks/>\n        Hex,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum EncryptionAlgorithmType {\n        \n        /// <remarks/>\n        TDES,\n        \n        /// <remarks/>\n        AES,\n        \n        /// <remarks/>\n        RSA,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class KeyManagementScheme {\n        \n        /// <remarks/>\n        public KeyManagementSchemeDUKPT DUKPT;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class KeyManagementSchemeDUKPT {\n        \n        /// <remarks/>\n        public OperationType Operation;\n        \n        /// <remarks/>\n        public KeyManagementSchemeDUKPTMode Mode;\n        \n        /// <remarks/>\n        public KeyManagementSchemeDUKPTDeviceInfo DeviceInfo;\n        \n        /// <remarks/>\n        public KeyManagementSchemeDUKPTEncryptedData EncryptedData;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum OperationType {\n        \n        /// <remarks/>\n        DECRYPT,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class KeyManagementSchemeDUKPTMode {\n        \n        /// <remarks/>\n        public string PIN;\n        \n        /// <remarks/>\n        public string Data;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class KeyManagementSchemeDUKPTDeviceInfo {\n        \n        /// <remarks/>\n        public string Description;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class KeyManagementSchemeDUKPTEncryptedData {\n        \n        /// <remarks/>\n        public string Value;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class payPalType {\n        \n        /// <remarks/>\n        public string successUrl;\n        \n        /// <remarks/>\n        public string cancelUrl;\n        \n        /// <remarks/>\n        public string paypalLc;\n        \n        /// <remarks/>\n        public string paypalHdrImg;\n        \n        /// <remarks/>\n        public string paypalPayflowcolor;\n        \n        /// <remarks/>\n        public string payerID;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class creditCardTrackType {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"track1\", typeof(string))]\n        [System.Xml.Serialization.XmlElementAttribute(\"track2\", typeof(string))]\n        [System.Xml.Serialization.XmlChoiceIdentifierAttribute(\"ItemElementName\")]\n        public string Item;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public ItemChoiceType1 ItemElementName;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IncludeInSchema=false)]\n    public enum ItemChoiceType1 {\n        \n        /// <remarks/>\n        track1,\n        \n        /// <remarks/>\n        track2,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class ccAuthenticationType {\n        \n        /// <remarks/>\n        public string authenticationIndicator;\n        \n        /// <remarks/>\n        public string cardholderAuthenticationValue;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transRetailInfoType {\n        \n        /// <remarks/>\n        [System.ComponentModel.DefaultValueAttribute(\"2\")]\n        public string marketType;\n        \n        /// <remarks/>\n        public string deviceType;\n        \n        /// <remarks/>\n        public string customerSignature;\n        \n        /// <remarks/>\n        public string terminalNumber;\n        \n        public transRetailInfoType() {\n            this.marketType = \"2\";\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class settingType {\n        \n        /// <remarks/>\n        public string settingName;\n        \n        /// <remarks/>\n        public string settingValue;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class subMerchantType {\n        \n        /// <remarks/>\n        public string identifier;\n        \n        /// <remarks/>\n        public string doingBusinessAs;\n        \n        /// <remarks/>\n        public string paymentServiceProviderName;\n        \n        /// <remarks/>\n        public string paymentServiceFacilitator;\n        \n        /// <remarks/>\n        public string streetAddress;\n        \n        /// <remarks/>\n        public string phone;\n        \n        /// <remarks/>\n        public string email;\n        \n        /// <remarks/>\n        public string postalCode;\n        \n        /// <remarks/>\n        public string city;\n        \n        /// <remarks/>\n        public string regionCode;\n        \n        /// <remarks/>\n        public string countryCode;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class mobileDeviceType {\n        \n        /// <remarks/>\n        public string mobileDeviceId;\n        \n        /// <remarks/>\n        public string description;\n        \n        /// <remarks/>\n        public string phoneNumber;\n        \n        /// <remarks/>\n        public string devicePlatform;\n        \n        /// <remarks/>\n        public deviceActivationEnum deviceActivation;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool deviceActivationSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum deviceActivationEnum {\n        \n        /// <remarks/>\n        Activate,\n        \n        /// <remarks/>\n        Disable,\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerPaymentProfileMaskedType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerPaymentProfileType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerPaymentProfileExType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerPaymentProfileBaseType {\n        \n        /// <remarks/>\n        public customerTypeEnum customerType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool customerTypeSpecified;\n        \n        /// <remarks/>\n        public customerAddressType billTo;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerPaymentProfileMaskedType : customerPaymentProfileBaseType {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public bool defaultPaymentProfile;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool defaultPaymentProfileSpecified;\n        \n        /// <remarks/>\n        public paymentMaskedType payment;\n        \n        /// <remarks/>\n        public driversLicenseMaskedType driversLicense;\n        \n        /// <remarks/>\n        public string taxId;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"subscriptionId\", IsNullable=false)]\n        public string[] subscriptionIds;\n        \n        /// <remarks/>\n        public string originalNetworkTransId;\n        \n        /// <remarks/>\n        public decimal originalAuthAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool originalAuthAmountSpecified;\n        \n        /// <remarks/>\n        public bool excludeFromAccountUpdater;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool excludeFromAccountUpdaterSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class driversLicenseMaskedType {\n        \n        /// <remarks/>\n        public string number;\n        \n        /// <remarks/>\n        public string state;\n        \n        /// <remarks/>\n        public string dateOfBirth;\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerPaymentProfileExType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerPaymentProfileType : customerPaymentProfileBaseType {\n        \n        /// <remarks/>\n        public paymentType payment;\n        \n        /// <remarks/>\n        public driversLicenseType driversLicense;\n        \n        /// <remarks/>\n        public string taxId;\n        \n        /// <remarks/>\n        public bool defaultPaymentProfile;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool defaultPaymentProfileSpecified;\n        \n        /// <remarks/>\n        public subsequentAuthInformation subsequentAuthInformation;\n        \n        /// <remarks/>\n        public bool excludeFromAccountUpdater;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool excludeFromAccountUpdaterSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerPaymentProfileExType : customerPaymentProfileType {\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerProfileExType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerProfileMaskedType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerProfileInfoExType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(subscriptionCustomerProfileType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerProfileType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerProfileBaseType {\n        \n        /// <remarks/>\n        public string merchantCustomerId;\n        \n        /// <remarks/>\n        public string description;\n        \n        /// <remarks/>\n        public string email;\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerProfileMaskedType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(customerProfileInfoExType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(subscriptionCustomerProfileType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerProfileExType : customerProfileBaseType {\n        \n        /// <remarks/>\n        public string customerProfileId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerProfileMaskedType : customerProfileExType {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"paymentProfiles\")]\n        public customerPaymentProfileMaskedType[] paymentProfiles;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"shipToList\")]\n        public customerAddressExType[] shipToList;\n        \n        /// <remarks/>\n        public customerProfileTypeEnum profileType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool profileTypeSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum customerProfileTypeEnum {\n        \n        /// <remarks/>\n        regular,\n        \n        /// <remarks/>\n        guest,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerProfileInfoExType : customerProfileExType {\n        \n        /// <remarks/>\n        public customerProfileTypeEnum profileType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool profileTypeSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class subscriptionCustomerProfileType : customerProfileExType {\n        \n        /// <remarks/>\n        public customerPaymentProfileMaskedType paymentProfile;\n        \n        /// <remarks/>\n        public customerAddressExType shippingProfile;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerProfileType : customerProfileBaseType {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"paymentProfiles\")]\n        public customerPaymentProfileType[] paymentProfiles;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"shipToList\")]\n        public customerAddressType[] shipToList;\n        \n        /// <remarks/>\n        public customerProfileTypeEnum profileType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool profileTypeSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class ARBSubscriptionMaskedType {\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public paymentScheduleType paymentSchedule;\n        \n        /// <remarks/>\n        public decimal amount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool amountSpecified;\n        \n        /// <remarks/>\n        public decimal trialAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool trialAmountSpecified;\n        \n        /// <remarks/>\n        public ARBSubscriptionStatusEnum status;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool statusSpecified;\n        \n        /// <remarks/>\n        public subscriptionCustomerProfileType profile;\n        \n        /// <remarks/>\n        public orderType order;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]\n        public arbTransaction[] arbTransactions;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class paymentScheduleType {\n        \n        /// <remarks/>\n        public paymentScheduleTypeInterval interval;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(DataType=\"date\")]\n        public System.DateTime startDate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool startDateSpecified;\n        \n        /// <remarks/>\n        public short totalOccurrences;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool totalOccurrencesSpecified;\n        \n        /// <remarks/>\n        public short trialOccurrences;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool trialOccurrencesSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class paymentScheduleTypeInterval {\n        \n        /// <remarks/>\n        public short length;\n        \n        /// <remarks/>\n        public ARBSubscriptionUnitEnum unit;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum ARBSubscriptionUnitEnum {\n        \n        /// <remarks/>\n        days,\n        \n        /// <remarks/>\n        months,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class arbTransaction {\n        \n        /// <remarks/>\n        public string transId;\n        \n        /// <remarks/>\n        public string response;\n        \n        /// <remarks/>\n        public System.DateTime submitTimeUTC;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool submitTimeUTCSpecified;\n        \n        /// <remarks/>\n        public int payNum;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool payNumSpecified;\n        \n        /// <remarks/>\n        public int attemptNum;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool attemptNumSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class securePaymentContainerErrorType {\n        \n        /// <remarks/>\n        public string code;\n        \n        /// <remarks/>\n        public string description;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class customerType {\n        \n        /// <remarks/>\n        public customerTypeEnum type;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool typeSpecified;\n        \n        /// <remarks/>\n        public string id;\n        \n        /// <remarks/>\n        public string email;\n        \n        /// <remarks/>\n        public string phoneNumber;\n        \n        /// <remarks/>\n        public string faxNumber;\n        \n        /// <remarks/>\n        public driversLicenseType driversLicense;\n        \n        /// <remarks/>\n        public string taxId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class paymentSimpleType {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"bankAccount\", typeof(bankAccountType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"creditCard\", typeof(creditCardSimpleType))]\n        public object Item;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class merchantContactType {\n        \n        /// <remarks/>\n        public string merchantName;\n        \n        /// <remarks/>\n        public string merchantAddress;\n        \n        /// <remarks/>\n        public string merchantCity;\n        \n        /// <remarks/>\n        public string merchantState;\n        \n        /// <remarks/>\n        public string merchantZip;\n        \n        /// <remarks/>\n        public string merchantPhone;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class ContactDetailType {\n        \n        /// <remarks/>\n        public string email;\n        \n        /// <remarks/>\n        public string firstName;\n        \n        /// <remarks/>\n        public string lastName;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class permissionType {\n        \n        /// <remarks/>\n        public string permissionName;\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(emailSettingsType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class ArrayOfSetting {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"setting\")]\n        public settingType[] setting;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class emailSettingsType : ArrayOfSetting {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute(DataType=\"integer\")]\n        public string version;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class fraudInformationType {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"fraudFilter\", IsNullable=false)]\n        public string[] fraudFilterList;\n        \n        /// <remarks/>\n        public string fraudAction;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class transactionSummaryType {\n        \n        /// <remarks/>\n        public string transId;\n        \n        /// <remarks/>\n        public System.DateTime submitTimeUTC;\n        \n        /// <remarks/>\n        public System.DateTime submitTimeLocal;\n        \n        /// <remarks/>\n        public string transactionStatus;\n        \n        /// <remarks/>\n        public string invoiceNumber;\n        \n        /// <remarks/>\n        public string firstName;\n        \n        /// <remarks/>\n        public string lastName;\n        \n        /// <remarks/>\n        public string accountType;\n        \n        /// <remarks/>\n        public string accountNumber;\n        \n        /// <remarks/>\n        public decimal settleAmount;\n        \n        /// <remarks/>\n        public string marketType;\n        \n        /// <remarks/>\n        public string product;\n        \n        /// <remarks/>\n        public string mobileDeviceId;\n        \n        /// <remarks/>\n        public subscriptionPaymentType subscription;\n        \n        /// <remarks/>\n        public bool hasReturnedItems;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool hasReturnedItemsSpecified;\n        \n        /// <remarks/>\n        public fraudInformationType fraudInformation;\n        \n        /// <remarks/>\n        public customerProfileIdType profile;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class ARBSubscriptionType {\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        public paymentScheduleType paymentSchedule;\n        \n        /// <remarks/>\n        public decimal amount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool amountSpecified;\n        \n        /// <remarks/>\n        public decimal trialAmount;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool trialAmountSpecified;\n        \n        /// <remarks/>\n        public paymentType payment;\n        \n        /// <remarks/>\n        public orderType order;\n        \n        /// <remarks/>\n        public customerType customer;\n        \n        /// <remarks/>\n        public nameAndAddressType billTo;\n        \n        /// <remarks/>\n        public nameAndAddressType shipTo;\n        \n        /// <remarks/>\n        public customerProfileIdType profile;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class webCheckOutDataTypeToken {\n        \n        /// <remarks/>\n        public string cardNumber;\n        \n        /// <remarks/>\n        public string expirationDate;\n        \n        /// <remarks/>\n        public string cardCode;\n        \n        /// <remarks/>\n        public string zip;\n        \n        /// <remarks/>\n        public string fullName;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class webCheckOutDataType {\n        \n        /// <remarks/>\n        public webCheckOutTypeEnum type;\n        \n        /// <remarks/>\n        public string id;\n        \n        /// <remarks/>\n        public webCheckOutDataTypeToken token;\n        \n        /// <remarks/>\n        public bankAccountType bankToken;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum webCheckOutTypeEnum {\n        \n        /// <remarks/>\n        PAN,\n        \n        /// <remarks/>\n        TOKEN,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class paymentDetails {\n        \n        /// <remarks/>\n        public string currency;\n        \n        /// <remarks/>\n        public string promoCode;\n        \n        /// <remarks/>\n        public string misc;\n        \n        /// <remarks/>\n        public string giftWrap;\n        \n        /// <remarks/>\n        public string discount;\n        \n        /// <remarks/>\n        public string tax;\n        \n        /// <remarks/>\n        public string shippingHandling;\n        \n        /// <remarks/>\n        public string subTotal;\n        \n        /// <remarks/>\n        public string orderID;\n        \n        /// <remarks/>\n        public string amount;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class fingerPrintType {\n        \n        /// <remarks/>\n        public string hashValue;\n        \n        /// <remarks/>\n        public string sequence;\n        \n        /// <remarks/>\n        public string timestamp;\n        \n        /// <remarks/>\n        public string currencyCode;\n        \n        /// <remarks/>\n        public string amount;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class impersonationAuthenticationType {\n        \n        /// <remarks/>\n        public string partnerLoginId;\n        \n        /// <remarks/>\n        public string partnerTransactionKey;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class merchantAuthenticationType {\n        \n        /// <remarks/>\n        public string name;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"accessToken\", typeof(string))]\n        [System.Xml.Serialization.XmlElementAttribute(\"clientKey\", typeof(string))]\n        [System.Xml.Serialization.XmlElementAttribute(\"fingerPrint\", typeof(fingerPrintType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"impersonationAuthentication\", typeof(impersonationAuthenticationType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"password\", typeof(string))]\n        [System.Xml.Serialization.XmlElementAttribute(\"sessionToken\", typeof(string))]\n        [System.Xml.Serialization.XmlElementAttribute(\"transactionKey\", typeof(string))]\n        [System.Xml.Serialization.XmlChoiceIdentifierAttribute(\"ItemElementName\")]\n        public object Item;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public ItemChoiceType ItemElementName;\n        \n        /// <remarks/>\n        public string mobileDeviceId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IncludeInSchema=false)]\n    public enum ItemChoiceType {\n        \n        /// <remarks/>\n        accessToken,\n        \n        /// <remarks/>\n        clientKey,\n        \n        /// <remarks/>\n        fingerPrint,\n        \n        /// <remarks/>\n        impersonationAuthentication,\n        \n        /// <remarks/>\n        password,\n        \n        /// <remarks/>\n        sessionToken,\n        \n        /// <remarks/>\n        transactionKey,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public partial class ANetApiRequest {\n        \n        /// <remarks/>\n        public merchantAuthenticationType merchantAuthentication;\n        \n        /// <remarks/>\n        public string clientId;\n        \n        /// <remarks/>\n        public string refId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class decryptPaymentDataResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public customerAddressType shippingInfo;\n        \n        /// <remarks/>\n        public customerAddressType billingInfo;\n        \n        /// <remarks/>\n        public creditCardMaskedType cardInfo;\n        \n        /// <remarks/>\n        public paymentDetails paymentDetails;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(\"ErrorResponse\", Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ANetApiResponse {\n        \n        /// <remarks/>\n        public string refId;\n        \n        /// <remarks/>\n        public messagesType messages;\n        \n        /// <remarks/>\n        public string sessionToken;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class securePaymentContainerRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public webCheckOutDataType data;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class securePaymentContainerResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public opaqueDataType opaqueData;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class isAliveRequest {\n        \n        /// <remarks/>\n        public string refId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class isAliveResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class authenticateTestRequest : ANetApiRequest {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class authenticateTestResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBCreateSubscriptionRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public ARBSubscriptionType subscription;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBCreateSubscriptionResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public string subscriptionId;\n        \n        /// <remarks/>\n        public customerProfileIdType profile;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBUpdateSubscriptionRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string subscriptionId;\n        \n        /// <remarks/>\n        public ARBSubscriptionType subscription;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBUpdateSubscriptionResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public customerProfileIdType profile;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBCancelSubscriptionRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string subscriptionId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBCancelSubscriptionResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBGetSubscriptionStatusRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string subscriptionId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBGetSubscriptionStatusResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public ARBSubscriptionStatusEnum status;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool statusSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public customerProfileType profile;\n        \n        /// <remarks/>\n        public validationModeEnum validationMode;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool validationModeSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum validationModeEnum {\n        \n        /// <remarks/>\n        none,\n        \n        /// <remarks/>\n        testMode,\n        \n        /// <remarks/>\n        liveMode,\n        \n        /// <remarks/>\n        oldLiveMode,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerProfileResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"numericString\", IsNullable=false)]\n        public string[] customerPaymentProfileIdList;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"numericString\", IsNullable=false)]\n        public string[] customerShippingAddressIdList;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]\n        public string[] validationDirectResponseList;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerPaymentProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public customerPaymentProfileType paymentProfile;\n        \n        /// <remarks/>\n        public validationModeEnum validationMode;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool validationModeSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerPaymentProfileResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public string validationDirectResponse;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerShippingAddressRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public customerAddressType address;\n        \n        /// <remarks/>\n        public bool defaultShippingAddress;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool defaultShippingAddressSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerShippingAddressResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerAddressId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerProfileFromTransactionRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string transId;\n        \n        /// <remarks/>\n        public customerProfileBaseType customer;\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public bool defaultPaymentProfile;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool defaultPaymentProfileSpecified;\n        \n        /// <remarks/>\n        public bool defaultShippingAddress;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool defaultShippingAddressSpecified;\n        \n        /// <remarks/>\n        public customerProfileTypeEnum profileType;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool profileTypeSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string merchantCustomerId;\n        \n        /// <remarks/>\n        public string email;\n        \n        /// <remarks/>\n        public bool unmaskExpirationDate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool unmaskExpirationDateSpecified;\n        \n        /// <remarks/>\n        public bool includeIssuerInfo;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool includeIssuerInfoSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerProfileResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public customerProfileMaskedType profile;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"subscriptionId\", IsNullable=false)]\n        public string[] subscriptionIds;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerPaymentProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public bool unmaskExpirationDate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool unmaskExpirationDateSpecified;\n        \n        /// <remarks/>\n        public bool includeIssuerInfo;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool includeIssuerInfoSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerPaymentProfileResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public customerPaymentProfileMaskedType paymentProfile;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerShippingAddressRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerAddressId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerShippingAddressResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public bool defaultShippingAddress;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool defaultShippingAddressSpecified;\n        \n        /// <remarks/>\n        public customerAddressExType address;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"subscriptionId\", IsNullable=false)]\n        public string[] subscriptionIds;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateCustomerProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public customerProfileInfoExType profile;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateCustomerProfileResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateCustomerPaymentProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public customerPaymentProfileExType paymentProfile;\n        \n        /// <remarks/>\n        public validationModeEnum validationMode;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool validationModeSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateCustomerPaymentProfileResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public string validationDirectResponse;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateCustomerShippingAddressRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public customerAddressExType address;\n        \n        /// <remarks/>\n        public bool defaultShippingAddress;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool defaultShippingAddressSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateCustomerShippingAddressResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class deleteCustomerProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class deleteCustomerProfileResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class deleteCustomerPaymentProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class deleteCustomerPaymentProfileResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class deleteCustomerShippingAddressRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerAddressId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class deleteCustomerShippingAddressResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerProfileTransactionRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public profileTransactionType transaction;\n        \n        /// <remarks/>\n        public string extraOptions;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createCustomerProfileTransactionResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public transactionResponse transactionResponse;\n        \n        /// <remarks/>\n        public string directResponse;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class validateCustomerPaymentProfileRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public string customerShippingAddressId;\n        \n        /// <remarks/>\n        public string cardCode;\n        \n        /// <remarks/>\n        public validationModeEnum validationMode;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class validateCustomerPaymentProfileResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public string directResponse;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerProfileIdsRequest : ANetApiRequest {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerProfileIdsResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"numericString\", IsNullable=false)]\n        public string[] ids;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateSplitTenderGroupRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string splitTenderId;\n        \n        /// <remarks/>\n        public splitTenderStatusEnum splitTenderStatus;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum splitTenderStatusEnum {\n        \n        /// <remarks/>\n        completed,\n        \n        /// <remarks/>\n        held,\n        \n        /// <remarks/>\n        voided,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateSplitTenderGroupResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getTransactionDetailsRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string transId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getTransactionDetailsResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public transactionDetailsType transaction;\n        \n        /// <remarks/>\n        public string clientId;\n        \n        /// <remarks/>\n        public string transrefId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createTransactionRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public transactionRequestType transactionRequest;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class createTransactionResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public transactionResponse transactionResponse;\n        \n        /// <remarks/>\n        public createProfileResponse profileResponse;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateHeldTransactionRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public heldTransactionRequestType heldTransactionRequest;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateHeldTransactionResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public transactionResponse transactionResponse;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getBatchStatisticsRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string batchId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getBatchStatisticsResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public batchDetailsType batch;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getSettledBatchListRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public bool includeStatistics;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool includeStatisticsSpecified;\n        \n        /// <remarks/>\n        public System.DateTime firstSettlementDate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool firstSettlementDateSpecified;\n        \n        /// <remarks/>\n        public System.DateTime lastSettlementDate;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool lastSettlementDateSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getSettledBatchListResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"batch\", IsNullable=false)]\n        public batchDetailsType[] batchList;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getTransactionListRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string batchId;\n        \n        /// <remarks/>\n        public TransactionListSorting sorting;\n        \n        /// <remarks/>\n        public Paging paging;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getTransactionListResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"transaction\", IsNullable=false)]\n        public transactionSummaryType[] transactions;\n        \n        /// <remarks/>\n        public int totalNumInResultSet;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool totalNumInResultSetSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getHostedProfilePageRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"setting\", IsNullable=false)]\n        public settingType[] hostedProfileSettings;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getHostedProfilePageResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public string token;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getUnsettledTransactionListRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public TransactionGroupStatusEnum status;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool statusSpecified;\n        \n        /// <remarks/>\n        public TransactionListSorting sorting;\n        \n        /// <remarks/>\n        public Paging paging;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum TransactionGroupStatusEnum {\n        \n        /// <remarks/>\n        any,\n        \n        /// <remarks/>\n        pendingApproval,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getHostedPaymentPageRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public transactionRequestType transactionRequest;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"setting\", IsNullable=false)]\n        public settingType[] hostedPaymentSettings;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getHostedPaymentPageResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public string token;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getUnsettledTransactionListResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"transaction\", IsNullable=false)]\n        public transactionSummaryType[] transactions;\n        \n        /// <remarks/>\n        public int totalNumInResultSet;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool totalNumInResultSetSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class mobileDeviceRegistrationRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public mobileDeviceType mobileDevice;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class mobileDeviceRegistrationResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class mobileDeviceLoginRequest : ANetApiRequest {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class mobileDeviceLoginResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public merchantContactType merchantContact;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"permission\", IsNullable=false)]\n        public permissionType[] userPermissions;\n        \n        /// <remarks/>\n        public transRetailInfoType merchantAccount;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class logoutRequest : ANetApiRequest {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class logoutResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class sendCustomerTransactionReceiptRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string transId;\n        \n        /// <remarks/>\n        public string customerEmail;\n        \n        /// <remarks/>\n        public emailSettingsType emailSettings;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class sendCustomerTransactionReceiptResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBGetSubscriptionListRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public ARBGetSubscriptionListSearchTypeEnum searchType;\n        \n        /// <remarks/>\n        public ARBGetSubscriptionListSorting sorting;\n        \n        /// <remarks/>\n        public Paging paging;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum ARBGetSubscriptionListSearchTypeEnum {\n        \n        /// <remarks/>\n        cardExpiringThisMonth,\n        \n        /// <remarks/>\n        subscriptionActive,\n        \n        /// <remarks/>\n        subscriptionExpiringThisMonth,\n        \n        /// <remarks/>\n        subscriptionInactive,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBGetSubscriptionListResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public int totalNumInResultSet;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool totalNumInResultSetSpecified;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"subscriptionDetail\")]\n        public SubscriptionDetail[] subscriptionDetails;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class EnumCollection {\n        \n        /// <remarks/>\n        public customerProfileSummaryType customerProfileSummaryType;\n        \n        /// <remarks/>\n        public paymentSimpleType paymentSimpleType;\n        \n        /// <remarks/>\n        public accountTypeEnum accountTypeEnum;\n        \n        /// <remarks/>\n        public cardTypeEnum cardTypeEnum;\n        \n        /// <remarks/>\n        public FDSFilterActionEnum FDSFilterActionEnum;\n        \n        /// <remarks/>\n        public permissionsEnum permissionsEnum;\n        \n        /// <remarks/>\n        public settingNameEnum settingNameEnum;\n        \n        /// <remarks/>\n        public settlementStateEnum settlementStateEnum;\n        \n        /// <remarks/>\n        public transactionStatusEnum transactionStatusEnum;\n        \n        /// <remarks/>\n        public transactionTypeEnum transactionTypeEnum;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum accountTypeEnum {\n        \n        /// <remarks/>\n        Visa,\n        \n        /// <remarks/>\n        MasterCard,\n        \n        /// <remarks/>\n        AmericanExpress,\n        \n        /// <remarks/>\n        Discover,\n        \n        /// <remarks/>\n        JCB,\n        \n        /// <remarks/>\n        DinersClub,\n        \n        /// <remarks/>\n        eCheck,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum cardTypeEnum {\n        \n        /// <remarks/>\n        Visa,\n        \n        /// <remarks/>\n        MasterCard,\n        \n        /// <remarks/>\n        AmericanExpress,\n        \n        /// <remarks/>\n        Discover,\n        \n        /// <remarks/>\n        JCB,\n        \n        /// <remarks/>\n        DinersClub,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum FDSFilterActionEnum {\n        \n        /// <remarks/>\n        reject,\n        \n        /// <remarks/>\n        decline,\n        \n        /// <remarks/>\n        hold,\n        \n        /// <remarks/>\n        authAndHold,\n        \n        /// <remarks/>\n        report,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum permissionsEnum {\n        \n        /// <remarks/>\n        API_Merchant_BasicReporting,\n        \n        /// <remarks/>\n        Submit_Charge,\n        \n        /// <remarks/>\n        Submit_Refund,\n        \n        /// <remarks/>\n        Submit_Update,\n        \n        /// <remarks/>\n        Mobile_Admin,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum settingNameEnum {\n        \n        /// <remarks/>\n        emailCustomer,\n        \n        /// <remarks/>\n        merchantEmail,\n        \n        /// <remarks/>\n        allowPartialAuth,\n        \n        /// <remarks/>\n        headerEmailReceipt,\n        \n        /// <remarks/>\n        footerEmailReceipt,\n        \n        /// <remarks/>\n        recurringBilling,\n        \n        /// <remarks/>\n        duplicateWindow,\n        \n        /// <remarks/>\n        testRequest,\n        \n        /// <remarks/>\n        hostedProfileReturnUrl,\n        \n        /// <remarks/>\n        hostedProfileReturnUrlText,\n        \n        /// <remarks/>\n        hostedProfilePageBorderVisible,\n        \n        /// <remarks/>\n        hostedProfileIFrameCommunicatorUrl,\n        \n        /// <remarks/>\n        hostedProfileHeadingBgColor,\n        \n        /// <remarks/>\n        hostedProfileValidationMode,\n        \n        /// <remarks/>\n        hostedProfileBillingAddressRequired,\n        \n        /// <remarks/>\n        hostedProfileCardCodeRequired,\n        \n        /// <remarks/>\n        hostedProfileBillingAddressOptions,\n        \n        /// <remarks/>\n        hostedProfileManageOptions,\n        \n        /// <remarks/>\n        hostedPaymentIFrameCommunicatorUrl,\n        \n        /// <remarks/>\n        hostedPaymentButtonOptions,\n        \n        /// <remarks/>\n        hostedPaymentReturnOptions,\n        \n        /// <remarks/>\n        hostedPaymentOrderOptions,\n        \n        /// <remarks/>\n        hostedPaymentPaymentOptions,\n        \n        /// <remarks/>\n        hostedPaymentBillingAddressOptions,\n        \n        /// <remarks/>\n        hostedPaymentShippingAddressOptions,\n        \n        /// <remarks/>\n        hostedPaymentSecurityOptions,\n        \n        /// <remarks/>\n        hostedPaymentCustomerOptions,\n        \n        /// <remarks/>\n        hostedPaymentStyleOptions,\n        \n        /// <remarks/>\n        typeEmailReceipt,\n        \n        /// <remarks/>\n        hostedProfilePaymentOptions,\n        \n        /// <remarks/>\n        hostedProfileSaveButtonText,\n        \n        /// <remarks/>\n        hostedPaymentVisaCheckoutOptions,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum settlementStateEnum {\n        \n        /// <remarks/>\n        settledSuccessfully,\n        \n        /// <remarks/>\n        settlementError,\n        \n        /// <remarks/>\n        pendingSettlement,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum transactionStatusEnum {\n        \n        /// <remarks/>\n        authorizedPendingCapture,\n        \n        /// <remarks/>\n        capturedPendingSettlement,\n        \n        /// <remarks/>\n        communicationError,\n        \n        /// <remarks/>\n        refundSettledSuccessfully,\n        \n        /// <remarks/>\n        refundPendingSettlement,\n        \n        /// <remarks/>\n        approvedReview,\n        \n        /// <remarks/>\n        declined,\n        \n        /// <remarks/>\n        couldNotVoid,\n        \n        /// <remarks/>\n        expired,\n        \n        /// <remarks/>\n        generalError,\n        \n        /// <remarks/>\n        pendingFinalSettlement,\n        \n        /// <remarks/>\n        pendingSettlement,\n        \n        /// <remarks/>\n        failedReview,\n        \n        /// <remarks/>\n        settledSuccessfully,\n        \n        /// <remarks/>\n        settlementError,\n        \n        /// <remarks/>\n        underReview,\n        \n        /// <remarks/>\n        updatingSettlement,\n        \n        /// <remarks/>\n        voided,\n        \n        /// <remarks/>\n        FDSPendingReview,\n        \n        /// <remarks/>\n        FDSAuthorizedPendingReview,\n        \n        /// <remarks/>\n        returnedItem,\n        \n        /// <remarks/>\n        chargeback,\n        \n        /// <remarks/>\n        chargebackReversal,\n        \n        /// <remarks/>\n        authorizedPendingRelease,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum transactionTypeEnum {\n        \n        /// <remarks/>\n        authOnlyTransaction,\n        \n        /// <remarks/>\n        authCaptureTransaction,\n        \n        /// <remarks/>\n        captureOnlyTransaction,\n        \n        /// <remarks/>\n        refundTransaction,\n        \n        /// <remarks/>\n        priorAuthCaptureTransaction,\n        \n        /// <remarks/>\n        voidTransaction,\n        \n        /// <remarks/>\n        getDetailsTransaction,\n        \n        /// <remarks/>\n        authOnlyContinueTransaction,\n        \n        /// <remarks/>\n        authCaptureContinueTransaction,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerPaymentProfileListRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public CustomerPaymentProfileSearchTypeEnum searchType;\n        \n        /// <remarks/>\n        public string month;\n        \n        /// <remarks/>\n        public CustomerPaymentProfileSorting sorting;\n        \n        /// <remarks/>\n        public Paging paging;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum CustomerPaymentProfileSearchTypeEnum {\n        \n        /// <remarks/>\n        cardsExpiringInMonth,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerPaymentProfileListResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public int totalNumInResultSet;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"paymentProfile\")]\n        public customerPaymentProfileListItemType[] paymentProfiles;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBGetSubscriptionRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string subscriptionId;\n        \n        /// <remarks/>\n        public bool includeTransactions;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool includeTransactionsSpecified;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class ARBGetSubscriptionResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public ARBSubscriptionMaskedType subscription;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getTransactionListForCustomerRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n        \n        /// <remarks/>\n        public TransactionListSorting sorting;\n        \n        /// <remarks/>\n        public Paging paging;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getAUJobSummaryRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string month;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getAUJobSummaryResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"auResponse\", IsNullable=false)]\n        public auResponseType[] auSummary;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getAUJobDetailsRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string month;\n        \n        /// <remarks/>\n        public AUJobTypeEnum modifiedTypeFilter;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool modifiedTypeFilterSpecified;\n        \n        /// <remarks/>\n        public Paging paging;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum AUJobTypeEnum {\n        \n        /// <remarks/>\n        all,\n        \n        /// <remarks/>\n        updates,\n        \n        /// <remarks/>\n        deletes,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getAUJobDetailsResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public int totalNumInResultSet;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool totalNumInResultSetSpecified;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"auDelete\", typeof(auDeleteType), IsNullable=false)]\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"auUpdate\", typeof(auUpdateType), IsNullable=false)]\n        public auDetailsType[] auDetails;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getMerchantDetailsRequest : ANetApiRequest {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getMerchantDetailsResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public bool isTestMode;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool isTestModeSpecified;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"processor\")]\n        public processorType[] processors;\n        \n        /// <remarks/>\n        public string merchantName;\n        \n        /// <remarks/>\n        public string gatewayId;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"marketType\")]\n        public string[] marketTypes;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"productCode\")]\n        public string[] productCodes;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"paymentMethod\")]\n        public System.Nullable<paymentMethodsTypeEnum>[] paymentMethods;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"currency\")]\n        public string[] currencies;\n        \n        /// <remarks/>\n        public string publicClientKey;\n        \n        /// <remarks/>\n        public customerAddressType businessInformation;\n        \n        /// <remarks/>\n        public string merchantTimeZone;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"contactDetail\", IsNullable=false)]\n        public ContactDetailType[] contactDetails;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    public enum paymentMethodsTypeEnum {\n        \n        /// <remarks/>\n        Visa,\n        \n        /// <remarks/>\n        MasterCard,\n        \n        /// <remarks/>\n        Discover,\n        \n        /// <remarks/>\n        AmericanExpress,\n        \n        /// <remarks/>\n        DinersClub,\n        \n        /// <remarks/>\n        JCB,\n        \n        /// <remarks/>\n        EnRoute,\n        \n        /// <remarks/>\n        Echeck,\n        \n        /// <remarks/>\n        Paypal,\n        \n        /// <remarks/>\n        VisaCheckout,\n        \n        /// <remarks/>\n        ApplePay,\n        \n        /// <remarks/>\n        AndroidPay,\n        \n        /// <remarks/>\n        GooglePay,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateMerchantDetailsRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public bool isTestMode;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class updateMerchantDetailsResponse : ANetApiResponse {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerPaymentProfileNonceRequest : ANetApiRequest {\n        \n        /// <remarks/>\n        public string connectedAccessToken;\n        \n        /// <remarks/>\n        public string customerProfileId;\n        \n        /// <remarks/>\n        public string customerPaymentProfileId;\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\", IsNullable=false)]\n    public partial class getCustomerPaymentProfileNonceResponse : ANetApiResponse {\n        \n        /// <remarks/>\n        public opaqueDataType opaqueData;\n    }\n}\n"
  },
  {
    "path": "Authorize.NET/Utility/AnetRandom.cs",
    "content": "﻿using System;\nusing System.Security.Cryptography;\n\nnamespace AuthorizeNet.Utility\n{\n    public class AnetRandom\n    {\n        private const int BufferSize = 1024;  // must be a multiple of 4\n        private readonly byte[] randomBuffer;\n        private int bufferOffset;\n        private readonly RNGCryptoServiceProvider rngCryptoServiceProvider;\n        private readonly int seed;\n\n        public AnetRandom() : this(0)\n        {\n        }\n\n        public AnetRandom(int seed)\n        {\n            this.seed = seed;\n            randomBuffer = new byte[BufferSize];\n            rngCryptoServiceProvider = new RNGCryptoServiceProvider();\n            bufferOffset = randomBuffer.Length;\n        }\n\n        private void FillBuffer()\n        {\n            rngCryptoServiceProvider.GetBytes(randomBuffer);\n            bufferOffset = 0;\n        }\n\n        private int Next()\n        {\n            if (bufferOffset >= randomBuffer.Length)\n            {\n                FillBuffer();\n            }\n\n            // BitConverter.ToInt32 gets the next four bytes in the array and returns a 32 bit integer.\n            int val = BitConverter.ToInt32(randomBuffer, bufferOffset) & 0x7fffffff;\n\n            //this makes sure number is positive.\n            bufferOffset += sizeof(int);\n            return val;\n        }\n\n        // if seed is greater than or equal to max value, next() % maxValue is always less than seed.\n        // if seed is less than max value, (maxValue - seed) ensures that this method result is always less than seed.\n        public int Next(int maxValue)\n        {\n            return seed >= maxValue ? Next() % maxValue : Next() % (maxValue - seed) + seed;\n        }\n\n        public int Next(int minValue, int maxValue)\n        {\n            if (maxValue < minValue)\n            {\n                throw new ArgumentOutOfRangeException(\"maxValue must be greater than or equal to minValue\");\n            }\n\n            var range = maxValue - minValue;\n            return minValue + Next(range);\n        }\n    }\n}\n"
  },
  {
    "path": "Authorize.NET/Utility/ApiFields.cs",
    "content": "using System;\nusing System.Collections.Generic;\n\nnamespace AuthorizeNet\n{\n\t\n\t/// <summary>\n\t/// These are field names and explanations only\n\t/// </summary>\n\tpublic class ApiFields\n\t{\n        public const string CardholderAuthenticationValue = \"x_cardholder_authentication_value\";\n        public const string FooterEmailReceipt = \"x_footer_email_receipt\";\n        public const string EncapChar = \"x_encap_char\";\n        public const string HeaderEmailReceipt = \"x_header_email_receipt\";\n        public const string AuthenticationIndicator = \"x_authentication_indicator\";\n\n        public const string BankABACode = \"x_bank_aba_code\";\n        public const string BankAcctNum = \"x_bank_acct_num\";\n        public const string BankAcctType = \"x_bank_acct_type\";\n        public const string BankName = \"x_bank_name\";\n        public const string BankAcctName = \"x_bank_acct_name\";\n        public const string EcheckType = \"x_echeck_type\";\n        public const string BankCheckNumber = \"x_bank_check_number\";\n\n\n        public const string LineItem = \"x_line_item\";\n        public const string ShipToAddress = \"x_ship_to_address\";\n        public const string ShipToCity = \"x_ship_to_city\";\n        public const string ShipToState = \"x_ship_to_state\";\n        public const string ShipToZip = \"x_ship_to_zip\";\n        public const string ShipToCountry = \"x_ship_to_country\";\n        public const string ShipToCompany = \"x_ship_to_company\";\n        public const string ShipToFirstName = \"x_ship_to_first_name\";\n        public const string ShipToLastName = \"x_ship_to_last_name\";\n        public const string TestRequest = \"x_test_request\";\n\n\n        public const string Type = \"x_type\";\n        public const string Version = \"x_version\";\n        /// <summary>\n\t\t/// The merchant's unique API Login ID\n\t\t/// </summary>\n\t\tpublic const string ApiLogin = \"x_login\";\n\t\t\n\t\t/// <summary>\n\t\t/// The merchant's unique Transaction Key\n\t\t/// </summary>\t\n\t\tpublic const string TransactionKey = \"x_tran_key\";\n\t\t\n\t\t/// <summary>\n\t\t/// True, False\n\t\t/// </summary>\n\t\tpublic const string AllowPartialAuth = \"x_allow_partial_Auth\";\n\t\t\n\t\t/// <summary>\n\t\t/// Whether to return the data in delimited fashion\n\t\t/// </summary>\n\t\tpublic const string DelimitData = \"x_delim_data\";\n\t\t\n\t\t/// <summary>\n\t\t/// If the return from AuthorizeNet is delimited - this is the character to use. Default is pipe\n\t\t/// </summary>\n\t\tpublic const string DelimitCharacter = \"x_delim_char\";\n\t\t\n\t\t\n\t\t/// <summary>\n\t\t/// The relay response - leave this set as TRUE\n\t\t/// </summary>\n\t\tpublic const string RelayResponse = \"x_relay_response\";\n\t\t\n\t\t/// <summary>\n\t\t/// The solution ID of your product or integration used for better reporting\n\t\t/// </summary>\n\t\tpublic const string SolutionID = \"x_solution_id\";\n\n        public ApiFields() {\n            ApiKeys = new List<string>();\n\n            ApiKeys.Add(\"x_login\");\n\n            ApiKeys.Add(\"x_tran_key\");\n\n            ApiKeys.Add(\"x_allow_partial_Auth\");\n\n            ApiKeys.Add(\"x_delim_data\");\n\n            ApiKeys.Add(\"x_delim_char\");\n\n            ApiKeys.Add(\"x_relay_response\");\n\n            ApiKeys.Add(\"x_version\");\n\n            ApiKeys.Add(\"x_type\");\n\n            ApiKeys.Add(\"x_method\");\n\n            ApiKeys.Add(\"x_recurring_billing\");\n\n            ApiKeys.Add(\"x_amount\");\n\n            ApiKeys.Add(\"x_card_num\");\n\n            ApiKeys.Add(\"x_exp_date\");\n\n            ApiKeys.Add(\"x_card_code\");\n\n            ApiKeys.Add(\"x_card_type\");\n\n            ApiKeys.Add(\"x_trans_id\");\n\n            ApiKeys.Add(\"x_split_tender\");\n\n            ApiKeys.Add(\"x_auth_code\");\n\n            ApiKeys.Add(\"x_test_request\");\n\n            ApiKeys.Add(\"x_duplicate_window\");\n\n            ApiKeys.Add(\"x_invoice_num\");\n\n            ApiKeys.Add(\"x_description\");\n\n            ApiKeys.Add(\"x_first_name\");\n\n            ApiKeys.Add(\"x_last_name\");\n\n            ApiKeys.Add(\"x_company\");\n\n            ApiKeys.Add(\"x_address\");\n\n            ApiKeys.Add(\"x_city\");\n\n            ApiKeys.Add(\"x_state\");\n\n            ApiKeys.Add(\"x_zip\");\n\n            ApiKeys.Add(\"x_country\");\n\n            ApiKeys.Add(\"x_phone\");\n\n            ApiKeys.Add(\"x_fax\");\n\n            ApiKeys.Add(\"x_email\");\n\n            ApiKeys.Add(\"x_email_customer\");\n\n            ApiKeys.Add(\"x_merchant_email\");\n\n            ApiKeys.Add(\"x_cust_id\");\n\n            ApiKeys.Add(\"x_customer_ip\");\n\n            ApiKeys.Add(\"x_ship_to_first_name\");\n\n            ApiKeys.Add(\"x_ship_to_last_name\");\n\n            ApiKeys.Add(\"x_ship_to_company\");\n\n            ApiKeys.Add(\"x_ship_to_address\");\n\n            ApiKeys.Add(\"x_ship_to_city\");\n\n            ApiKeys.Add(\"x_ship_to_state\");\n\n            ApiKeys.Add(\"x_ship_to_zip\");\n\n            ApiKeys.Add(\"x_ship_to_country\");\n\n            ApiKeys.Add(\"x_tax\");\n            ApiKeys.Add(\"x_freight\");\n            ApiKeys.Add(\"x_duty\");\n            ApiKeys.Add(\"x_tax_exempt\");\n            ApiKeys.Add(\"x_po_num\");\n            ApiKeys.Add(\"x_solution_id\");\n\n\n        }\n\n        public List<string> ApiKeys {\n            get;\n            set;\n        }\n\n\t\t\n\t\t\n\t\t/// <summary>\n\t\t/// Required - The merchant's transaction version\n\t\t/// </summary>\n\t\tpublic const string ApiVersion = \"x_version\";\n\t\t\n\t\t/// <summary>\n\t\t/// The type of transaction:\n\t\t/// AUTH_CAPTURE (default), AUTH_ONLY, CAPTURE_ONLY, CREDIT, PRIOR_AUTH_CAPTURE, VOID\n\t\t/// </summary>\n\t\tpublic const string TransactionType = \"x_type\";\n\t\t\n\t\t/// <summary>\n\t\t/// CC or ECHECK\n\t\t/// </summary>\n\t\tpublic const string Method = \"x_method\";\n\t\t\n\t\t/// <summary>\n\t\t/// The recurring billing status\n\t\t/// </summary>\n\t\tpublic const string RecurringBilling = \"x_recurring_billing\";\n\t\t\n\t\t/// <summary>\n\t\t/// The amount of the transaction\n\t\t/// </summary>\n\t\tpublic const string Amount = \"x_amount\";\n\t\t/// <summary>\n\t\t/// The credit card number - between 13 and 16 digits without spaces. When x_type=CREDIT, only the last four digits are required\n\t\t/// </summary>\n\t\tpublic const string CreditCardNumber = \"x_card_num\";\n\t\t/// <summary>\n\t\t/// The expiration date - MMYY, MM/YY, MM-YY, MMYYYY, MM/YYYY, MM-YYYY\n\t\t/// </summary>\n\t\tpublic const string CreditCardExpiration = \"x_exp_date\";\n\t\t/// <summary>\n\t\t/// The three- or four-digit number on the back of a credit card (on the front for American Express).\n\t\t/// </summary>\n\t\tpublic const string CreditCardCode = \"x_card_code\";\n        /// <summary>\n        /// The credit card type or echeck in the case of echeck transactions.\n        /// </summary>\n        public const string CreditCardType = \"x_card_type\";\n\t\t/// <summary>\n\t\t/// The payment gateway assigned transaction ID of an original transaction - Required only for CREDIT, PRIOR_ AUTH_ CAPTURE, and VOID transactions\n\t\t/// </summary>\n\t\tpublic const string TransactionID = \"x_trans_id\";\n\t\t/// <summary>\n\t\t/// The payment gateway-assitned ID assigned when the original transaction includes  two or more partial payments. This is the identifier that is used to group transactions that are part of a split tender order.\n\t\t/// </summary>\n\t\tpublic const string SplitTenderId = \"x_split_tender_id\";\n\t\t/// <summary>\n\t\t/// The authorization code of an original transaction not authorized on the payment gateway\n\t\t/// </summary>\n\t\tpublic const string AuthorizationCode = \"x_auth_code\";\n\t\t/// <summary>\n\t\t/// The request to process test transactions\n\t\t/// </summary>\n\t\tpublic const string IsTestRequest = \"x_test_request\";\n\t\t/// <summary>\n\t\t/// The window of time after the submission of a transaction that a duplicate transaction can not be submitted\n\t\t/// </summary>\n\t\tpublic const string DuplicateWindowTime = \"x_duplicate_window\";\n\t\t\n\t\t/// <summary>\n\t\t/// The merchant assigned invoice number for the transaction\n\t\t/// </summary>\n\t\tpublic const string InvoiceNumber = \"x_invoice_num\";\n\t\t\n\t\t/// <summary>\n\t\t/// The transaction description\n\t\t/// </summary>\n\t\tpublic const string Description = \"x_description\";\n\t\t\n\n\t\tpublic const string FirstName = \"x_first_name\";\n\t\t\n\t\tpublic const string LastName = \"x_last_name\";\n\t\t\n\t\tpublic const string Company = \"x_company\";\n\t\t\n\t\tpublic const string Address = \"x_address\";\n\t\t\n\t\tpublic const string City = \"x_city\";\n\t\t\n\t\tpublic const string State = \"x_state\";\n\t\t\n\t\tpublic const string Zip = \"x_zip\";\n\t\t\n\t\tpublic const string Country = \"x_country\";\n\t\t\n\t\tpublic const string Phone = \"x_phone\";\n\t\t\n\t\tpublic const string Fax = \"x_fax\";\n\t\t\n\t\tpublic const string Email = \"x_email\";\n\n        public const string EmailCustomer = \"x_email_customer\";\n\n        public const string MerchantEmail = \"x_merchant_email\";\n\t\t\n\t\t/// <summary>\n\t\t/// The ID of the Customer as relates to your application\n\t\t/// </summary>\n\t\tpublic const string CustomerID = \"x_cust_id\";\n\n        public const string CustomerIPAddress = \"x_customer_ip\";\t\t\n\t\t\n\t\tpublic const string ShipFirstName = \"x_ship_to_first_name\";\n\n\t\tpublic const string ShipLastName = \"x_ship_to_last_name\";\n\n\t\tpublic const string ShipCompany = \"x_ship_to_company\";\n\n\t\tpublic const string ShipAddress = \"x_ship_to_address\";\n\n\t\tpublic const string ShipCity = \"x_ship_to_city\";\n\n\t\tpublic const string ShipState = \"x_ship_to_state\";\n\n\t\tpublic const string ShipZip = \"x_ship_to_zip\";\n\n\t\tpublic const string ShipCountry = \"x_ship_to_country\";\n\t\t\n\t\t\n\t\tpublic const string Tax = \"x_tax\";\n\t\tpublic const string Freight = \"x_freight\";\n\t\tpublic const string Duty = \"x_duty\";\n\t\tpublic const string TaxExempt = \"x_tax_exempt\";\n\t\tpublic const string PONumber = \"x_po_num\";\n\t\t\n\t\t\n\t\t\n\t\tpublic bool ApiContainsKey (string key)\n\t\t{\n\t\t\t\t\n\t\t\treturn ApiKeys.Contains (key);\n\t\t}\n\t\t\n\t\t\n\t\t\n\t}\n}\n\n"
  },
  {
    "path": "Authorize.NET/Utility/CryptoRandom.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Security.Cryptography;\n\nnamespace AuthorizeNet\n{\n    /// <summary>\n    /// Source Code from MSDN article http://msdn.microsoft.com/en-us/magazine/cc163367.aspx\n    /// </summary>\n    public class CryptoRandom\n    {\n        private RNGCryptoServiceProvider _rng =\n        new RNGCryptoServiceProvider();\n        private byte[] _uint32Buffer = new byte[4];\n\n        public CryptoRandom() { }\n        public CryptoRandom(Int32 ignoredSeed) { }\n\n        public Int32 Next()\n        {\n            _rng.GetBytes(_uint32Buffer);\n            return BitConverter.ToInt32(_uint32Buffer, 0) & 0x7FFFFFFF;\n        }\n\n        public Int32 Next(Int32 maxValue)\n        {\n            if (maxValue < 0)\n                throw new ArgumentOutOfRangeException(\"maxValue\");\n            return Next(0, maxValue);\n        }\n\n        public Int32 Next(Int32 minValue, Int32 maxValue)\n        {\n            if (minValue > maxValue)\n                throw new ArgumentOutOfRangeException(\"minValue\");\n            if (minValue == maxValue) return minValue;\n            Int64 diff = maxValue - minValue;\n            while (true)\n            {\n                _rng.GetBytes(_uint32Buffer);\n                UInt32 rand = BitConverter.ToUInt32(_uint32Buffer, 0);\n\n                Int64 max = (1 + (Int64)UInt32.MaxValue);\n                Int64 remainder = max % diff;\n                if (rand < max - remainder)\n                {\n                    return (Int32)(minValue + (rand % diff));\n                }\n            }\n        }\n\n        public double NextDouble()\n        {\n            _rng.GetBytes(_uint32Buffer);\n            UInt32 rand = BitConverter.ToUInt32(_uint32Buffer, 0);\n            return rand / (1.0 + UInt32.MaxValue);\n        }\n\n        public void NextBytes(byte[] buffer)\n        {\n            if (buffer == null) throw new ArgumentNullException(\"buffer\");\n            _rng.GetBytes(buffer);\n        }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNET.sln",
    "content": "﻿\r\nMicrosoft Visual Studio Solution File, Format Version 12.00\r\n# Visual Studio Version 17\r\nVisualStudioVersion = 17.10.35027.167\r\nMinimumVisualStudioVersion = 10.0.40219.1\r\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"AuthorizeNET\", \"Authorize.NET\\AuthorizeNET.csproj\", \"{5D52EAEC-42FB-4313-83B8-69E2F55EBF14}\"\r\nEndProject\r\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"AuthorizeNETtest\", \"AuthorizeNETtest\\AuthorizeNETtest.csproj\", \"{CDA0D4D8-E4AA-4BEA-8839-04D69607D914}\"\r\nEndProject\r\nGlobal\r\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\r\n\t\tDebug|Any CPU = Debug|Any CPU\r\n\t\tRelease|Any CPU = Release|Any CPU\r\n\t\tUSELOCAL|Any CPU = USELOCAL|Any CPU\r\n\tEndGlobalSection\r\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\r\n\t\t{5D52EAEC-42FB-4313-83B8-69E2F55EBF14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{5D52EAEC-42FB-4313-83B8-69E2F55EBF14}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{5D52EAEC-42FB-4313-83B8-69E2F55EBF14}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{5D52EAEC-42FB-4313-83B8-69E2F55EBF14}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{5D52EAEC-42FB-4313-83B8-69E2F55EBF14}.USELOCAL|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{5D52EAEC-42FB-4313-83B8-69E2F55EBF14}.USELOCAL|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{CDA0D4D8-E4AA-4BEA-8839-04D69607D914}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r\n\t\t{CDA0D4D8-E4AA-4BEA-8839-04D69607D914}.Debug|Any CPU.Build.0 = Debug|Any CPU\r\n\t\t{CDA0D4D8-E4AA-4BEA-8839-04D69607D914}.Release|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{CDA0D4D8-E4AA-4BEA-8839-04D69607D914}.Release|Any CPU.Build.0 = Release|Any CPU\r\n\t\t{CDA0D4D8-E4AA-4BEA-8839-04D69607D914}.USELOCAL|Any CPU.ActiveCfg = Release|Any CPU\r\n\t\t{CDA0D4D8-E4AA-4BEA-8839-04D69607D914}.USELOCAL|Any CPU.Build.0 = Release|Any CPU\r\n\tEndGlobalSection\r\n\tGlobalSection(SolutionProperties) = preSolution\r\n\t\tHideSolutionNode = FALSE\r\n\tEndGlobalSection\r\n\tGlobalSection(TestCaseManagementSettings) = postSolution\r\n\t\tCategoryFile = AuthorizeNET.vsmdi\r\n\tEndGlobalSection\r\nEndGlobal\r\n"
  },
  {
    "path": "AuthorizeNET.vsmdi",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<TestLists xmlns=\"http://microsoft.com/schemas/VisualStudio/TeamTest/2010\">\r\n  <TestList name=\"Lists of Tests\" id=\"8c43106b-9dc1-4907-a29f-aa66a61bf5b6\">\r\n    <RunConfiguration id=\"b519da70-f2b9-42e9-8322-f70b4aedb1c0\" name=\"Local Test Run\" storage=\"localtestrun.testrunconfig\" type=\"Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration, Microsoft.VisualStudio.QualityTools.Common,   PublicKeyToken=b03f5f7f11d50a3a\" />\r\n  </TestList>\r\n</TestLists>"
  },
  {
    "path": "AuthorizeNETtest/Api/ControllerTemplateTest.cst",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class APICONTROLLERNAMETest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockAPICONTROLLERNAMETest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<APICONTROLLERNAMERequest, APICONTROLLERNAMEResponse>();\n            var mockRequest = new APICONTROLLERNAMERequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new APICONTROLLERNAMEResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    Yyyyy = Yyyy,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<APICONTROLLERNAMERequest, APICONTROLLERNAMEResponse, APICONTROLLERNAMEController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t\t    Assert.IsNotNull(controllerResponse.Yyyyy);\n\t\t    LogHelper.info(Logger, \"APICONTROLLERNAME: Details:{0}\", controllerResponse.Yyyyy);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/ARBCancelSubscriptionControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class ARBCancelSubscriptionTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockARBCancelSubscriptionTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<ARBCancelSubscriptionRequest, ARBCancelSubscriptionResponse>();\n            var mockRequest = new ARBCancelSubscriptionRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new ARBCancelSubscriptionResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<ARBCancelSubscriptionRequest, ARBCancelSubscriptionResponse, ARBCancelSubscriptionController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t\t    LogHelper.info(Logger, \"ARBCancelSubscription: \");\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/ARBCreateSubscriptionControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class ARBCreateSubscriptionTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockARBCreateSubscriptionTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<ARBCreateSubscriptionRequest, ARBCreateSubscriptionResponse>();\n            var mockRequest = new ARBCreateSubscriptionRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                    subscription = ArbSubscriptionOne,\n                };\n            var mockResponse = new ARBCreateSubscriptionResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    subscriptionId = \"1234\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<ARBCreateSubscriptionRequest, ARBCreateSubscriptionResponse, ARBCreateSubscriptionController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.subscriptionId);\n            LogHelper.info(Logger, \"ARBCreateSubscription: Details:{0}\", controllerResponse.subscriptionId);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/ARBGetSubscriptionControllerTest.cs",
    "content": "using AuthorizeNet.Utility;\n\nnamespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class ARBGetSubscriptionTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockARBGetSubscriptionTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<ARBGetSubscriptionRequest, ARBGetSubscriptionResponse>();\n            var mockRequest = new ARBGetSubscriptionRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                    subscriptionId = \"1234\"\n                };\n\n            var customerPaymentProfileMaskedType = new customerPaymentProfileMaskedType\n                {\n                    customerPaymentProfileId = \"1234\",\n                };\n\n            var rnd = new AnetRandom(DateTime.Now.Millisecond);\n            var SubscriptionMaskedType = new ARBSubscriptionMaskedType()\n            {\n                name = \"Test\",\n                paymentSchedule = new paymentScheduleType\n                {\n                    interval = new paymentScheduleTypeInterval\n                    {\n                        length = 1,\n                        unit = ARBSubscriptionUnitEnum.months,\n                    },\n                    startDate = DateTime.UtcNow,\n                    totalOccurrences = 12\n                },\n                amount = 9.99M,\n                amountSpecified = true,\n                trialAmount = 100,\n                trialAmountSpecified = true,\n                status = ARBSubscriptionStatusEnum.active,\n                statusSpecified = true,\n                profile = new subscriptionCustomerProfileType()\n                {\n                    paymentProfile = customerPaymentProfileMaskedType,\n\n                },\n                order = new orderType { description = string.Format(\"member monthly {0}\", rnd.Next(99999)) }               \n            };\n\n            var mockResponse = new ARBGetSubscriptionResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    subscription = SubscriptionMaskedType\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<ARBGetSubscriptionRequest, ARBGetSubscriptionResponse, ARBGetSubscriptionController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.subscription);\n            LogHelper.info(Logger, \"ARBGetSubscription: Details:{0}\", controllerResponse.subscription);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/ARBGetSubscriptionListControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class ARBGetSubscriptionListTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockARBGetSubscriptionListTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<ARBGetSubscriptionListRequest, ARBGetSubscriptionListResponse>();\n            var mockRequest = new ARBGetSubscriptionListRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                    refId = RefId,\n                    searchType = ARBGetSubscriptionListSearchTypeEnum.subscriptionActive,\n                    paging = new Paging { limit = 100, offset = 1 },\n                    sorting = new ARBGetSubscriptionListSorting\n                    {\n                        orderBy = ARBGetSubscriptionListOrderFieldEnum.id,\n                        orderDescending = false\n                    },\n                };\n            var subscriptionDetail = new SubscriptionDetail\n            {\n                id = 1234,\n                accountNumber = \"1234\",\n                amount = SetValidTransactionAmount(Counter) / 100,\n            };\n            var subscriptionDetails = new List<SubscriptionDetail> { subscriptionDetail };\n            var mockResponse = new ARBGetSubscriptionListResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    subscriptionDetails = subscriptionDetails.ToArray(),\n                    totalNumInResultSet = subscriptionDetails.Count,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<ARBGetSubscriptionListRequest, ARBGetSubscriptionListResponse, ARBGetSubscriptionListController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.subscriptionDetails);\n            LogHelper.info(Logger, \"ARBGetSubscriptionList: Count:{0}, Details:{1}\", controllerResponse.totalNumInResultSet, controllerResponse.subscriptionDetails);\n        }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/ARBGetSubscriptionStatusControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class ARBGetSubscriptionStatusTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockARBGetSubscriptionStatusTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<ARBGetSubscriptionStatusRequest, ARBGetSubscriptionStatusResponse>();\n            var mockRequest = new ARBGetSubscriptionStatusRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new ARBGetSubscriptionStatusResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    status = ARBSubscriptionStatusEnum.active,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<ARBGetSubscriptionStatusRequest, ARBGetSubscriptionStatusResponse, ARBGetSubscriptionStatusController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t\t    Assert.IsNotNull(controllerResponse.status);\n            LogHelper.info(Logger, \"ARBGetSubscriptionStatus: Details:{0}\", controllerResponse.status);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/ARBUpdateSubscriptionControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class ARBUpdateSubscriptionTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockARBUpdateSubscriptionTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<ARBUpdateSubscriptionRequest, ARBUpdateSubscriptionResponse>();\n            var mockRequest = new ARBUpdateSubscriptionRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new ARBUpdateSubscriptionResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<ARBUpdateSubscriptionRequest, ARBUpdateSubscriptionResponse, ARBUpdateSubscriptionController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/authenticateTestControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class authenticateTestTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockauthenticateTestTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<authenticateTestRequest, authenticateTestResponse>();\n            var mockRequest = new authenticateTestRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new authenticateTestResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<authenticateTestRequest, authenticateTestResponse, authenticateTestController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n//\t\t    Assert.IsNotNull(controllerResponse.);\n\t\t    LogHelper.info(Logger, \"authenticateTest: Details:{0}\", controllerResponse);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/createCustomerPaymentProfileControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class createCustomerPaymentProfileTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockcreateCustomerPaymentProfileTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<createCustomerPaymentProfileRequest, createCustomerPaymentProfileResponse>();\n            var mockRequest = new createCustomerPaymentProfileRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new createCustomerPaymentProfileResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    customerPaymentProfileId = \"1234\",\n                    validationDirectResponse = \"mockValidation\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<createCustomerPaymentProfileRequest, createCustomerPaymentProfileResponse, createCustomerPaymentProfileController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.customerPaymentProfileId);\n            LogHelper.info(Logger, \"createCustomerPaymentProfile: Details:{0}\", controllerResponse.customerPaymentProfileId);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/createCustomerProfileControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class createCustomerProfileTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockcreateCustomerProfileTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<createCustomerProfileRequest, createCustomerProfileResponse>();\n            var mockRequest = new createCustomerProfileRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new createCustomerProfileResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    customerProfileId = \"1234\",\n                    customerPaymentProfileIdList = new [] {\"12345\"},\n                    customerShippingAddressIdList = new[] { \"12345\" },\n                    validationDirectResponseList = new string[] {},\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<createCustomerProfileRequest, createCustomerProfileResponse, createCustomerProfileController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.customerProfileId);\n            LogHelper.info(Logger, \"createCustomerProfile: Details:{0}\", controllerResponse.customerProfileId);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/createCustomerProfileFromTransactionControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class createCustomerProfileFromTransactionTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockcreateCustomerProfileFromTransactionTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<createCustomerProfileFromTransactionRequest, createCustomerProfileResponse>();\n            var mockRequest = new createCustomerProfileFromTransactionRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                    transId = CounterStr,\n                };\n            var mockResponse = new createCustomerProfileResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    customerProfileId = CounterStr,\n                    customerPaymentProfileIdList = new [] {CounterStr},\n                    customerShippingAddressIdList = new [] {CounterStr},\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<createCustomerProfileFromTransactionRequest, createCustomerProfileResponse, createCustomerProfileFromTransactionController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t\t    Assert.IsNotNull(controllerResponse.customerProfileId);\n            LogHelper.info(Logger, \"createCustomerProfileFromTransaction: Details:{0}\", controllerResponse.customerProfileId);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/createCustomerProfileTransactionControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class createCustomerProfileTransactionTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockcreateCustomerProfileTransactionTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<createCustomerProfileTransactionRequest, createCustomerProfileTransactionResponse>();\n            var mockRequest = new createCustomerProfileTransactionRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                    transaction = new profileTransactionType\n                        {\n                            Item = new profileTransAuthCaptureType(),\n                        },\n                };\n            var transactionResponse = new transactionResponse()\n                {\n                    accountNumber = \"1234\",\n                };\n            var mockResponse = new createCustomerProfileTransactionResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    transactionResponse = transactionResponse,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<createCustomerProfileTransactionRequest, createCustomerProfileTransactionResponse, createCustomerProfileTransactionController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.transactionResponse);\n            LogHelper.info(Logger, \"createCustomerProfileTransaction: Details:{0}\", controllerResponse.transactionResponse);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/createCustomerShippingAddressControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class createCustomerShippingAddressTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockcreateCustomerShippingAddressTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<createCustomerShippingAddressRequest, createCustomerShippingAddressResponse>();\n            var mockRequest = new createCustomerShippingAddressRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new createCustomerShippingAddressResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    customerAddressId = \"1234\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<createCustomerShippingAddressRequest, createCustomerShippingAddressResponse, createCustomerShippingAddressController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.customerAddressId);\n            LogHelper.info(Logger, \"createCustomerShippingAddress: Details:{0}\", controllerResponse.customerAddressId);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/createFingerPrintControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Globalization;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class createFingerPrintTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockcreateFingerPrintTest()\n\t    {\n            var fingerPrintSupportInformation = new fingerPrintSupportInformationType\n            {\n                amount = SetValidTransactionAmount(Counter) / 100,\n                currencyCode = \"INR\",\n                sequence = CounterStr,\n                timestamp = DateTime.UtcNow.ToString(CultureInfo.InvariantCulture),\n            };\n            //define all mocked objects as final\n            var mockController = GetMockController<createFingerPrintRequest, createFingerPrintResponse>();\n            var mockRequest = new createFingerPrintRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                    supportInformation = fingerPrintSupportInformation,\n                };\n            var mockResponse = new createFingerPrintResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    supportInformation = fingerPrintSupportInformation,\n                    fingerPrint = new fingerPrintType\n                        {\n                            sequence = fingerPrintSupportInformation.sequence,\n                            timestamp = fingerPrintSupportInformation.timestamp,\n                            hashValue = CounterStr,\n                        },\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<createFingerPrintRequest, createFingerPrintResponse, createFingerPrintController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t\t    Assert.IsNotNull(controllerResponse.fingerPrint);\n            LogHelper.info(Logger, \"createFingerPrint: Details:{0}\", controllerResponse.fingerPrint);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/createProfileControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    //using System;\n    //using System.Collections.Generic;\n    //using AuthorizeNet.Api.Contracts.V1;\n    //using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    //using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class createProfileTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockcreateProfileTest()\n\t    {\n            //createProfileRequest does not exist\n            /*\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<createProfileRequest, createProfileResponse>();\n            var mockRequest = new createProfileRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new createProfileResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    Yyyyy = Yyyy,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<createProfileRequest, createProfileResponse, createProfileController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t\t    Assert.IsNotNull(controllerResponse.Yyyyy);\n\t\t    LogHelper.info(Logger, \"createProfile: Details:{0}\", controllerResponse.Yyyyy);\n            */\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/createTransactionControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class createTransactionTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockcreateTransactionTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<createTransactionRequest, createTransactionResponse>();\n            var mockRequest = new createTransactionRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var transactionResponse = new transactionResponse()\n                {\n                    accountNumber = \"1234\",\n                };\n            var mockResponse = new createTransactionResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    transactionResponse = transactionResponse,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<createTransactionRequest, createTransactionResponse, createTransactionController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.transactionResponse);\n            LogHelper.info(Logger, \"createTransaction: Details:{0}\", controllerResponse.transactionResponse);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/decryptPaymentDataControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class decryptPaymentDataTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockdecryptPaymentDataTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<decryptPaymentDataRequest, decryptPaymentDataResponse>();\n            var mockRequest = new decryptPaymentDataRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new decryptPaymentDataResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    paymentDetails = new paymentDetails() { amount = \"15.50\" }\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<decryptPaymentDataRequest, decryptPaymentDataResponse, decryptPaymentDataController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.paymentDetails);\n            LogHelper.info(Logger, \"decryptPaymentData: PaymentDetailsAmount:{0}\", controllerResponse.paymentDetails.amount);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/deleteCustomerPaymentProfileControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class deleteCustomerPaymentProfileTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockdeleteCustomerPaymentProfileTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<deleteCustomerPaymentProfileRequest, deleteCustomerPaymentProfileResponse>();\n            var mockRequest = new deleteCustomerPaymentProfileRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new deleteCustomerPaymentProfileResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<deleteCustomerPaymentProfileRequest, deleteCustomerPaymentProfileResponse, deleteCustomerPaymentProfileController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/deleteCustomerProfileControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class deleteCustomerProfileTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockdeleteCustomerProfileTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<deleteCustomerProfileRequest, deleteCustomerProfileResponse>();\n            var mockRequest = new deleteCustomerProfileRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new deleteCustomerProfileResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<deleteCustomerProfileRequest, deleteCustomerProfileResponse, deleteCustomerProfileController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/deleteCustomerShippingAddressControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class deleteCustomerShippingAddressTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockdeleteCustomerShippingAddressTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<deleteCustomerShippingAddressRequest, deleteCustomerShippingAddressResponse>();\n            var mockRequest = new deleteCustomerShippingAddressRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new deleteCustomerShippingAddressResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<deleteCustomerShippingAddressRequest, deleteCustomerShippingAddressResponse, deleteCustomerShippingAddressController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/getAUJobDetailsControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class getAUJobDetailsTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockgetAUJobDetailsTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<getAUJobDetailsRequest, getAUJobDetailsResponse>();\n            var mockRequest = new getAUJobDetailsRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new getAUJobDetailsResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    Yyyyy = Yyyy,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<getAUJobDetailsRequest, getAUJobDetailsResponse, getAUJobDetailsController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t\t    Assert.IsNotNull(controllerResponse.Yyyyy);\n\t\t    LogHelper.info(Logger, \"getAUJobDetails: Details:{0}\", controllerResponse.Yyyyy);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/getAUJobSummaryControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class getAUJobSummaryTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockgetAUJobSummaryTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<getAUJobSummaryRequest, getAUJobSummaryResponse>();\n            var mockRequest = new getAUJobSummaryRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new getAUJobSummaryResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    Yyyyy = Yyyy,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<getAUJobSummaryRequest, getAUJobSummaryResponse, getAUJobSummaryController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t\t    Assert.IsNotNull(controllerResponse.Yyyyy);\n\t\t    LogHelper.info(Logger, \"getAUJobSummary: Details:{0}\", controllerResponse.Yyyyy);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/getBatchStatisticsControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class getBatchStatisticsTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockgetBatchStatisticsTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<getBatchStatisticsRequest, getBatchStatisticsResponse>();\n            var mockRequest = new getBatchStatisticsRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var batchDetaisType = new batchDetailsType\n                {\n                    batchId = \"1234\",\n                };\n            var mockResponse = new getBatchStatisticsResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    batch = batchDetaisType,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<getBatchStatisticsRequest, getBatchStatisticsResponse, getBatchStatisticsController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t\t    Assert.IsNotNull(controllerResponse.batch);\n            LogHelper.info(Logger, \"getBatchStatistics: Details:{0}\", controllerResponse.batch);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/getCustomerPaymentProfileControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class getCustomerPaymentProfileTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockgetCustomerPaymentProfileTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<getCustomerPaymentProfileRequest, getCustomerPaymentProfileResponse>();\n            var mockRequest = new getCustomerPaymentProfileRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var customerPaymentProfileMaskedType = new customerPaymentProfileMaskedType\n                {\n                    customerPaymentProfileId = \"1234\",\n                };\n            var mockResponse = new getCustomerPaymentProfileResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    paymentProfile = customerPaymentProfileMaskedType,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<getCustomerPaymentProfileRequest, getCustomerPaymentProfileResponse, getCustomerPaymentProfileController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.paymentProfile);\n            LogHelper.info(Logger, \"getCustomerPaymentProfile: Details:{0}\", controllerResponse.paymentProfile);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/getCustomerPaymentProfileListControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class getCustomerPaymentProfileListTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        string GetRandomString(string title)\n        {\n            return String.Format(\"{0}{1}\", title, Counter);\n        }\n\n        [Test]\n\t    public void MockgetCustomerPaymentProfileListTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<getCustomerPaymentProfileListRequest, getCustomerPaymentProfileListResponse>();\n            var mockRequest = new getCustomerPaymentProfileListRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                    searchType = CustomerPaymentProfileSearchTypeEnum.cardsExpiringInMonth,\n                    month = \"2020-12\"\n                };\n\n            var BankAccountMaskedType = new bankAccountMaskedType()\n            {\n                accountType = bankAccountTypeEnum.savings,\n                accountTypeSpecified = true,\n                routingNumber = \"1234\",\n                accountNumber = \"1234\",\n                nameOnAccount = \"Test\",\n                echeckType = echeckTypeEnum.ARC\n            };\n\n            var PaymentMaskedType = new paymentMaskedType()\n            {\n                Item = BankAccountMaskedType\n            };\n\n            var CustomerAddress = new customerAddressType\n            {\n                firstName = GetRandomString(\"FName\"),\n                lastName = GetRandomString(\"LName\"),\n                company = GetRandomString(\"Company\"),\n                address = GetRandomString(\"StreetAdd\"),\n                city = \"Bellevue\",\n                state = \"WA\",\n                zip = \"98000\",\n                country = \"USA\",\n                phoneNumber = FormatToPhone(Counter),\n                faxNumber = FormatToPhone(Counter + 1),\n            };\n\n            var paymentProfile = new customerPaymentProfileListItemType()\n            {\n                customerPaymentProfileId = 1234,\n                customerProfileId = 1234,\n                billTo = CustomerAddress,\n                payment = PaymentMaskedType\n            };\n\n            var PaymentProfiles = new List<customerPaymentProfileListItemType> { paymentProfile };\n\n            var mockResponse = new getCustomerPaymentProfileListResponse\n            {\n                refId = \"1234\",\n                sessionToken = \"sessiontoken\",\n                totalNumInResultSet = PaymentProfiles.Count,\n                paymentProfiles = PaymentProfiles.ToArray()\n            };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<getCustomerPaymentProfileListRequest, getCustomerPaymentProfileListResponse, getCustomerPaymentProfileListController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t\t    Assert.IsNotNull(controllerResponse.totalNumInResultSet);\n            Assert.IsNotNull(controllerResponse.paymentProfiles);\n\n            LogHelper.info(Logger, \"getCustomerPaymentProfileList: Details:{0}\", controllerResponse.paymentProfiles);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/getCustomerProfileControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class getCustomerProfileTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockgetCustomerProfileTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<getCustomerProfileRequest, getCustomerProfileResponse>();\n            var mockRequest = new getCustomerProfileRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var customerProfileMaskedType = new customerProfileMaskedType\n                {\n                    customerProfileId = \"1234\",\n                };\n            var mockResponse = new getCustomerProfileResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    profile = customerProfileMaskedType,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<getCustomerProfileRequest, getCustomerProfileResponse, getCustomerProfileController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.profile);\n            LogHelper.info(Logger, \"getCustomerProfile: Details:{0}\", controllerResponse.profile);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/getCustomerProfileIdsControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class getCustomerProfileIdsTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockgetCustomerProfileIdsTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<getCustomerProfileIdsRequest, getCustomerProfileIdsResponse>();\n            var mockRequest = new getCustomerProfileIdsRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new getCustomerProfileIdsResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    ids = new [] {\"1234\"},\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<getCustomerProfileIdsRequest, getCustomerProfileIdsResponse, getCustomerProfileIdsController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.ids);\n            LogHelper.info(Logger, \"getCustomerProfileIds: Details:{0}\", controllerResponse.ids);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/getCustomerShippingAddressControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class getCustomerShippingAddressTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockgetCustomerShippingAddressTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<getCustomerShippingAddressRequest, getCustomerShippingAddressResponse>();\n            var mockRequest = new getCustomerShippingAddressRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var customerAddressExType = new customerAddressExType\n                {\n                    customerAddressId = \"1234\",\n                };\n            var mockResponse = new getCustomerShippingAddressResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    address = customerAddressExType,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<getCustomerShippingAddressRequest, getCustomerShippingAddressResponse, getCustomerShippingAddressController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.address);\n            LogHelper.info(Logger, \"getCustomerShippingAddress: Details:{0}\", controllerResponse.address);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/getHostedPaymentPageControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class getHostedPaymentPageTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockgetHostedPaymentPageTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<getHostedPaymentPageRequest, getHostedPaymentPageResponse>();\n            var mockRequest = new getHostedPaymentPageRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new getHostedPaymentPageResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    token = \"123123\"\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<getHostedPaymentPageRequest, getHostedPaymentPageResponse, getHostedPaymentPageController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.token);\n            LogHelper.info(Logger, \"getHostedPaymentPage: Details:{0}\", controllerResponse.token);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/getHostedProfilePageControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class getHostedProfilePageTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockgetHostedProfilePageTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<getHostedProfilePageRequest, getHostedProfilePageResponse>();\n            var mockRequest = new getHostedProfilePageRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new getHostedProfilePageResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    token = \"token1234\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<getHostedProfilePageRequest, getHostedProfilePageResponse, getHostedProfilePageController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.token);\n            LogHelper.info(Logger, \"getHostedProfilePage: Details:{0}\", controllerResponse.token);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/getMerchantDetailsControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class getMerchantDetailsTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockgetMerchantDetailsTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<getMerchantDetailsRequest, getMerchantDetailsResponse>();\n            var mockRequest = new getMerchantDetailsRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new getMerchantDetailsResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    gatewayId = \"41234\"\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<getMerchantDetailsRequest, getMerchantDetailsResponse, getMerchantDetailsController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.gatewayId);\n            LogHelper.info(Logger, \"getMerchantDetails: Details:{0}\", controllerResponse.gatewayId);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/getSettledBatchListControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class getSettledBatchListTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockgetSettledBatchListTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<getSettledBatchListRequest, getSettledBatchListResponse>();\n            var mockRequest = new getSettledBatchListRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var batchDetailsType = new batchDetailsType[]\n                {\n                    new batchDetailsType\n\t                    {\n                            batchId = \"1234\",\n\t                    }\n                };\n            var mockResponse = new getSettledBatchListResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    batchList = batchDetailsType,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<getSettledBatchListRequest, getSettledBatchListResponse, getSettledBatchListController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.batchList);\n            LogHelper.info(Logger, \"getSettledBatchList: Details:{0}\", controllerResponse.batchList);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/getTransactionDetailsControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class getTransactionDetailsTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockgetTransactionDetailsTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<getTransactionDetailsRequest, getTransactionDetailsResponse>();\n            var mockRequest = new getTransactionDetailsRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var transactionDetailsType = new transactionDetailsType\n                {\n                    AVSResponse = \"avs\",\n                };\n            var mockResponse = new getTransactionDetailsResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    transaction = transactionDetailsType,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<getTransactionDetailsRequest, getTransactionDetailsResponse, getTransactionDetailsController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.transaction);\n            LogHelper.info(Logger, \"getTransactionDetails: Details:{0}\", controllerResponse.transaction);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/getTransactionListControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class getTransactionListTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockgetTransactionListTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<getTransactionListRequest, getTransactionListResponse>();\n            var mockRequest = new getTransactionListRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var transactionSummaryType = new transactionSummaryType[]\n                {\n                    new transactionSummaryType\n                        {\n                            accountNumber = \"1234\",\n                        }\n                };\n            var mockResponse = new getTransactionListResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    transactions = transactionSummaryType,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<getTransactionListRequest, getTransactionListResponse, getTransactionListController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.transactions);\n            LogHelper.info(Logger, \"getTransactionList: Details:{0}\", controllerResponse.transactions);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/getTransactionListForCustomerControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class getTransactionListForCustomerTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockgetTransactionListForCustomerTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<getTransactionListForCustomerRequest, getTransactionListForCustomerResponse>();\n            var mockRequest = new getTransactionListForCustomerRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new getTransactionListForCustomerResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    Yyyyy = Yyyy,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<getTransactionListForCustomerRequest, getTransactionListForCustomerResponse, getTransactionListForCustomerController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t\t    Assert.IsNotNull(controllerResponse.Yyyyy);\n\t\t    LogHelper.info(Logger, \"getTransactionListForCustomer: Details:{0}\", controllerResponse.Yyyyy);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/getUnsettledTransactionListControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class getUnsettledTransactionListTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockgetUnsettledTransactionListTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<getUnsettledTransactionListRequest, getUnsettledTransactionListResponse>();\n            var mockRequest = new getUnsettledTransactionListRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var transactionSummaryType = new transactionSummaryType[]\n                {\n                    new transactionSummaryType\n                        {\n                            accountNumber = \"1234\",\n                        }\n                };\n            var mockResponse = new getUnsettledTransactionListResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    transactions = transactionSummaryType,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<getUnsettledTransactionListRequest, getUnsettledTransactionListResponse, getUnsettledTransactionListController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.transactions);\n            LogHelper.info(Logger, \"getUnsettledTransactionList: Details:{0}\", controllerResponse.transactions);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/isAliveControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class isAliveTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockisAliveTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<ANetApiRequest, isAliveResponse>();\n            var mockRequest = new ANetApiRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() { name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey },\n                };\n            var mockResponse = new isAliveResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<ANetApiRequest, isAliveResponse, isAliveController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t\t    //Assert.IsNotNull(controllerResponse.Yyyyy);\n\t\t    LogHelper.info(Logger, \"isAlive: Details:{0}\", controllerResponse);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/logoutControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class logoutTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MocklogoutTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<logoutRequest, logoutResponse>();\n            var mockRequest = new logoutRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new logoutResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<logoutRequest, logoutResponse, logoutController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t\t    //Assert.IsNotNull(controllerResponse.);\n\t\t    LogHelper.info(Logger, \"logout: Details:{0}\", controllerResponse);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/mobileDeviceLoginControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class mobileDeviceLoginTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockmobileDeviceLoginTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<mobileDeviceLoginRequest, mobileDeviceLoginResponse>();\n            var mockRequest = new mobileDeviceLoginRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var transRetailInfoType = new transRetailInfoType\n                {\n                    deviceType = \"android\",\n                    marketType = \"marketplace\",\n                };\n            var mockResponse = new mobileDeviceLoginResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    merchantAccount = transRetailInfoType,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<mobileDeviceLoginRequest, mobileDeviceLoginResponse, mobileDeviceLoginController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.merchantAccount);\n            LogHelper.info(Logger, \"mobileDeviceLogin: Details:{0}\", controllerResponse.merchantAccount);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/mobileDeviceRegistrationControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class mobileDeviceRegistrationTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockmobileDeviceRegistrationTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<mobileDeviceRegistrationRequest, mobileDeviceRegistrationResponse>();\n            var mockRequest = new mobileDeviceRegistrationRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new mobileDeviceRegistrationResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<mobileDeviceRegistrationRequest, mobileDeviceRegistrationResponse, mobileDeviceRegistrationController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n        }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/securePaymentContainerControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class securePaymentContainerTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MocksecurePaymentContainerTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<securePaymentContainerRequest, securePaymentContainerResponse>();\n            var mockRequest = new securePaymentContainerRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new securePaymentContainerResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<securePaymentContainerRequest, securePaymentContainerResponse, securePaymentContainerController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/sendCustomerTransactionReceiptControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class sendCustomerTransactionReceiptTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MocksendCustomerTransactionReceiptTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<sendCustomerTransactionReceiptRequest, sendCustomerTransactionReceiptResponse>();\n            var mockRequest = new sendCustomerTransactionReceiptRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new sendCustomerTransactionReceiptResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<sendCustomerTransactionReceiptRequest, sendCustomerTransactionReceiptResponse, sendCustomerTransactionReceiptController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/transactionControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    //using System;\n    //using System.Collections.Generic;\n    //using AuthorizeNet.Api.Contracts.V1;\n    //using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    //using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class transactionTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MocktransactionTest()\n\t    {\n            //object transactionRequest does not exist\n            /*\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<transactionRequest, transactionResponse>();\n            var mockRequest = new transactionRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new transactionResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    Yyyyy = Yyyy,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<transactionRequest, transactionResponse, transactionController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t\t    Assert.IsNotNull(controllerResponse.Yyyyy);\n\t\t    LogHelper.info(Logger, \"transaction: Details:{0}\", controllerResponse.Yyyyy);\n            */\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/transactionResponseEmvControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class transactionResponseEmvTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MocktransactionResponseEmvTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<transactionResponseEmvRequest, transactionResponseEmvResponse>();\n            var mockRequest = new transactionResponseEmvRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new transactionResponseEmvResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    Yyyyy = Yyyy,\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<transactionResponseEmvRequest, transactionResponseEmvResponse, transactionResponseEmvController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t\t    Assert.IsNotNull(controllerResponse.Yyyyy);\n\t\t    LogHelper.info(Logger, \"transactionResponseEmv: Details:{0}\", controllerResponse.Yyyyy);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/updateCustomerPaymentProfileControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class updateCustomerPaymentProfileTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockupdateCustomerPaymentProfileTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<updateCustomerPaymentProfileRequest, updateCustomerPaymentProfileResponse>();\n            var mockRequest = new updateCustomerPaymentProfileRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new updateCustomerPaymentProfileResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    validationDirectResponse = \"validatedResp\", \n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<updateCustomerPaymentProfileRequest, updateCustomerPaymentProfileResponse, updateCustomerPaymentProfileController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.validationDirectResponse);\n            LogHelper.info(Logger, \"updateCustomerPaymentProfile: Details:{0}\", controllerResponse.validationDirectResponse);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/updateCustomerProfileControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class updateCustomerProfileTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockupdateCustomerProfileTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<updateCustomerProfileRequest, updateCustomerProfileResponse>();\n            var mockRequest = new updateCustomerProfileRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new updateCustomerProfileResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<updateCustomerProfileRequest, updateCustomerProfileResponse, updateCustomerProfileController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/updateCustomerShippingAddressControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class updateCustomerShippingAddressTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockupdateCustomerShippingAddressTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<updateCustomerShippingAddressRequest, updateCustomerShippingAddressResponse>();\n            var mockRequest = new updateCustomerShippingAddressRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new updateCustomerShippingAddressResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<updateCustomerShippingAddressRequest, updateCustomerShippingAddressResponse, updateCustomerShippingAddressController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/updateHeldTransactionControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class updateHeldTransactionTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockupdateHeldTransactionTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<updateHeldTransactionRequest, updateHeldTransactionResponse>();\n            var mockRequest = new updateHeldTransactionRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n\n            var transactionResponse = new transactionResponse()\n            {\n                accountNumber = \"1234\",\n            };\n\n            var mockResponse = new updateHeldTransactionResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    transactionResponse = transactionResponse\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<updateHeldTransactionRequest, updateHeldTransactionResponse, updateHeldTransactionController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.transactionResponse);\n            LogHelper.info(Logger, \"updateHeldTransaction: Details:{0}\", controllerResponse.transactionResponse.accountNumber);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/updateMerchantDetailsControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class updateMerchantDetailsTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockupdateMerchantDetailsTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<updateMerchantDetailsRequest, updateMerchantDetailsResponse>();\n            var mockRequest = new updateMerchantDetailsRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType() {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new updateMerchantDetailsResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<updateMerchantDetailsRequest, updateMerchantDetailsResponse, updateMerchantDetailsController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t\t    \n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/updateSplitTenderGroupControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class updateSplitTenderGroupTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockupdateSplitTenderGroupTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<updateSplitTenderGroupRequest, updateSplitTenderGroupResponse>();\n            var mockRequest = new updateSplitTenderGroupRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new updateSplitTenderGroupResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<updateSplitTenderGroupRequest, updateSplitTenderGroupResponse, updateSplitTenderGroupController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/MockTest/validateCustomerPaymentProfileControllerTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.MockTest\n{\n    using System;\n    using System.Collections.Generic;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class validateCustomerPaymentProfileTest : ApiCoreTestBase \n\t{\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() \n\t\t{\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() \n\t\t{\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n\t    public void MockvalidateCustomerPaymentProfileTest()\n\t    {\n\t\t    //define all mocked objects as final\n            var mockController = GetMockController<validateCustomerPaymentProfileRequest, validateCustomerPaymentProfileResponse>();\n            var mockRequest = new validateCustomerPaymentProfileRequest\n                {\n                    merchantAuthentication = new merchantAuthenticationType {name = \"mocktest\", Item = \"mockKey\", ItemElementName = ItemChoiceType.transactionKey},\n                };\n            var mockResponse = new validateCustomerPaymentProfileResponse\n                {\n                    refId = \"1234\",\n                    sessionToken = \"sessiontoken\",\n                    directResponse = \"direct\",\n                };\n\n\t\t    var errorResponse = new ANetApiResponse();\n\t\t    var results = new List<String>();\n            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;\n\n            SetMockControllerExpectations<validateCustomerPaymentProfileRequest, validateCustomerPaymentProfileResponse, validateCustomerPaymentProfileController>(\n                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);\n            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);\n            //mockController.MockObject.Execute();\n            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);\n            var controllerResponse = mockController.MockObject.GetApiResponse();\n            Assert.IsNotNull(controllerResponse);\n\n            Assert.IsNotNull(controllerResponse.directResponse);\n            LogHelper.info(Logger, \"validateCustomerPaymentProfile: Details:{0}\", controllerResponse.directResponse);\n\t    }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/SampleTest/ArbSubscriptionSampleTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.SampleTest\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Bases;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class ArbSubscriptionSampleTest : ApiCoreTestBase {\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() {\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() {\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n        public void SampleCodeGetSubscriptionList()\n        {\n            LogHelper.info(Logger, \"Sample GetSubscriptionList\");\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //create a subscription\n            var createRequest = new ARBCreateSubscriptionRequest\n            {\n                refId = RefId,\n                subscription = ArbSubscriptionOne,\n            };\n\n            var createController = new ARBCreateSubscriptionController(createRequest);\n            createController.Execute();\n            var createResponse = createController.GetApiResponse();\n            Assert.IsNotNull(createResponse.subscriptionId);\n            LogHelper.info(Logger, \"Created Subscription: {0}\", createResponse.subscriptionId);\n            var subscriptionId = createResponse.subscriptionId;\n\n            //get subscription details\n\t\t    var getRequest = new ARBGetSubscriptionStatusRequest\n\t\t        {\n\t\t            refId = RefId,\n\t\t            subscriptionId = subscriptionId\n\t\t        };\n            var getController = new ARBGetSubscriptionStatusController(getRequest);\n            var getResponse = getController.ExecuteWithApiResponse();\n\t\t    Assert.IsNotNull(getResponse.status);\n\t\t    Logger.info(String.Format(\"Subscription Status: {0}\", getResponse.status));\n\n            //get subscription list that contains only the subscription created above.\n\t        var listRequest = new ARBGetSubscriptionListRequest\n\t            {\n\t                refId = RefId,\n\t                searchType = ARBGetSubscriptionListSearchTypeEnum.subscriptionActive,\n\t\t            sorting = new ARBGetSubscriptionListSorting\n\t\t                {\n\t\t                    orderDescending = true,\n\t\t                    orderBy = ARBGetSubscriptionListOrderFieldEnum.createTimeStampUTC,\n\t\t                },\n\t\t            paging = new Paging\n\t                    {\n\t                        limit = 500, \n                            offset = 1,\n\t                    },\n\t            };\n            var listController = new ARBGetSubscriptionListController(listRequest);\n            var listResponse = listController.ExecuteWithApiResponse();\n            LogHelper.info(Logger, \"Subscription Count: {0}\", listResponse.totalNumInResultSet);\n            Assert.IsTrue(0 < listResponse.totalNumInResultSet);\n\n            //validation of list\n            var subscriptionsArray = listResponse.subscriptionDetails;\n            foreach (var aSubscription in subscriptionsArray)\n            {\n                Assert.IsTrue(0 < aSubscription.id);\n                LogHelper.info(Logger, \"Subscription Id: {0}, Status:{1}, PaymentMethod: {2}, Amount: {3}, Account:{4}\",\n                        aSubscription.id, aSubscription.status, aSubscription.paymentMethod, aSubscription.amount, aSubscription.accountNumber);\n            }\n\n            //cancel subscription\n            var cancelRequest = new ARBCancelSubscriptionRequest\n            {\n                merchantAuthentication = CustomMerchantAuthenticationType,\n                refId = RefId,\n                subscriptionId = subscriptionId\n            };\n            var cancelController = new ARBCancelSubscriptionController(cancelRequest);\n            var cancelResponse = cancelController.ExecuteWithApiResponse(TestEnvironment);\n            Assert.IsNotNull(cancelResponse.messages);\n            Logger.info(String.Format(\"Subscription Cancelled: {0}\", subscriptionId));\n        }\n\n        [Test]\n        public void ARBGetSubscriptionSampleTest()\n        {\n            LogHelper.info(Logger, \"Sample GetSubscriptionList\");\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //create a subscription\n            var createRequest = new ARBCreateSubscriptionRequest\n            {\n                refId = RefId,\n                subscription = ArbSubscriptionOne,\n            };\n\n            var createController = new ARBCreateSubscriptionController(createRequest);\n            createController.Execute();\n            var createResponse = createController.GetApiResponse();\n            Assert.IsNotNull(createResponse.subscriptionId);\n            LogHelper.info(Logger, \"Created Subscription: {0}\", createResponse.subscriptionId);\n            var subscriptionId = createResponse.subscriptionId;\n\n            //get subscription details\n            var getRequest = new ARBGetSubscriptionRequest\n            {\n                refId = RefId,\n                subscriptionId = subscriptionId\n            };\n            var getController = new ARBGetSubscriptionController(getRequest);\n            var getResponse = getController.ExecuteWithApiResponse();\n            Assert.IsNotNull(getResponse.subscription);\n            Logger.info(String.Format(\"Subscription Name : {0}\", getResponse.subscription.name));\n            Assert.AreEqual(ArbSubscriptionOne.name, getResponse.subscription.name);\n            Assert.AreEqual(ArbSubscriptionOne.amountSpecified, getResponse.subscription.amountSpecified);\n\n            //cancel subscription\n            var cancelRequest = new ARBCancelSubscriptionRequest\n            {\n                merchantAuthentication = CustomMerchantAuthenticationType,\n                refId = RefId,\n                subscriptionId = subscriptionId\n            };\n            var cancelController = new ARBCancelSubscriptionController(cancelRequest);\n            var cancelResponse = cancelController.ExecuteWithApiResponse(TestEnvironment);\n            Assert.IsNotNull(cancelResponse.messages);\n            Logger.info(String.Format(\"Subscription Cancelled: {0}\", subscriptionId));\n        }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/SampleTest/CreateCustomerProfileFromTransactionSampleTest.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers.SampleTest\n{\n    using System;\n    using System.Globalization;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Bases;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class CreateCustomerProfileFromTransactionSampleTest : ApiCoreTestBase\n    {\n\n        [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n            ApiCoreTestBase.SetUpBeforeClass();\n        }\n\n        [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n            ApiCoreTestBase.TearDownAfterClass();\n        }\n\n        [SetUp]\n        public new void SetUp()\n        {\n            base.SetUp();\n        }\n\n        [TearDown]\n        public new void TearDown()\n        {\n            base.TearDown();\n        }\n\n        [Test]\n        public void SampleCodeCreateCustomerProfileFromTransaction()\n        {\n            LogHelper.info(Logger, \"Sample createCustomerProfileFromTransaction\");\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //setup transaction to use\n            var transactionId = GetTransactionId();\n            var createRequest = new createCustomerProfileFromTransactionRequest\n            {\n                refId = RefId,\n                transId = transactionId.ToString(CultureInfo.InvariantCulture),\n            };\n            //execute and get response\n            var createController = new createCustomerProfileFromTransactionController(createRequest);\n            var createResponse = createController.ExecuteWithApiResponse();\n\n            //validate\n            Assert.NotNull(createResponse);\n            Assert.NotNull(createResponse.messages);\n            Assert.AreEqual(messageTypeEnum.Ok, createResponse.messages.resultCode);\n            Assert.NotNull(createResponse.customerProfileId);\n            Assert.NotNull(createResponse.customerPaymentProfileIdList);\n            Assert.AreNotEqual(0, createResponse.customerPaymentProfileIdList.Length);\n\n            long customerProfileId;\n            long.TryParse(createResponse.customerProfileId, out customerProfileId);\n            Assert.AreNotEqual(0, customerProfileId);\n\n            long customerPaymentProfileId;\n            long.TryParse(createResponse.customerPaymentProfileIdList[0], out customerPaymentProfileId);\n            Assert.AreNotEqual(0, customerPaymentProfileId);\n            //if shipping profile is added, shipping profile id will be retrieved too\n        }\n\n        private long GetTransactionId()\n        {\n            //Creates a credit card transaction and returns the transactions ID.\n\n            //Common code to set for all requests\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //set up data based on transaction\n            var transactionAmount = SetValidTransactionAmount(Counter);\n            var creditCard = new creditCardType { cardNumber = \"4111111111111111\", expirationDate = \"0645\" };\n            var aCustomer = new customerDataType { email = string.Format( \"{0}@b.bla\", Counter)};\n\n            //standard api call to retrieve response\n            var paymentType = new paymentType { Item = creditCard };\n            var transactionRequest = new transactionRequestType\n            {\n                transactionType = transactionTypeEnum.authOnlyTransaction.ToString(),\n                payment = paymentType,\n                amount = transactionAmount,\n                customer = aCustomer,\n            };\n            var request = new createTransactionRequest { transactionRequest = transactionRequest };\n            var controller = new createTransactionController(request);\n            controller.Execute();\n            var response = controller.GetApiResponse();\n\n            //validate\n            Assert.NotNull(response);\n            Assert.NotNull(response.messages);\n            Assert.NotNull(response.transactionResponse);\n            Assert.AreEqual(messageTypeEnum.Ok, response.messages.resultCode);\n            Assert.False(string.IsNullOrEmpty(response.transactionResponse.transId));\n            long transactionId;\n            long.TryParse(response.transactionResponse.transId, out transactionId);\n            Assert.AreNotEqual(0, transactionId);\n\n            return transactionId;\n        }\n\n        [Test]\n        public void CreateTransactionFromProfile()\n        {\n            //Creates a customer profile and customer payment profile\n            //Then uses those profiles to create a transaction request\n\n            //Common code to set for all requests\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            Random rnd = new Random(DateTime.Now.Millisecond);\n\n            string profileRandom = rnd.Next(9999).ToString();\n\n            //Create profile to use in transaction creation\n            var profileShipTo = new customerAddressType\n            {\n                address = profileRandom + \" First St NE\",\n                city = \"Bellevue\",\n                state = \"WA\",\n                zip = \"98007\",\n                company = \"Sample Co \" + profileRandom,\n                country = \"USA\",\n                firstName = \"Sample\" + profileRandom,\n                lastName = \"Name\" + profileRandom,\n                phoneNumber = \"425 123 4567\",\n            };\n\n            var paymentProfile = new customerPaymentProfileType\n            {\n                billTo = profileShipTo,\n                customerType = customerTypeEnum.individual,\n                payment = new paymentType { Item = new creditCardType { cardNumber = \"4111111111111111\", expirationDate = \"0645\" } },\n            };\n\n            var createProfileReq = new createCustomerProfileRequest\n            {\n                profile = new customerProfileType\n                {\n                    description = \"SampleProfile \" + profileRandom,\n                    email = \"SampleEmail\" + profileRandom + \"@Visa.com\",\n                    shipToList = new customerAddressType[] { profileShipTo },\n                    paymentProfiles = new customerPaymentProfileType[] { paymentProfile }\n                }\n            };\n\n            var createProfileCont = new createCustomerProfileController(createProfileReq);\n            createProfileCont.Execute();\n            var createProfileResp = createProfileCont.GetApiResponse();\n\n            //Get profile using getCustomerProfileRequest\n            var getCustReq = new getCustomerProfileRequest { customerProfileId = createProfileResp.customerProfileId };\n            var getCustCont = new getCustomerProfileController(getCustReq);\n            getCustCont.Execute();\n            var getCustResp = getCustCont.GetApiResponse();\n\n\n            //Create Transaction\n            //Create instance of customer payment profile using the profile IDs from the profile we loaded above.\n            var custPaymentProfile = new AuthorizeNet.Api.Contracts.V1.customerProfilePaymentType { customerProfileId = getCustResp.profile.customerProfileId, paymentProfile = new paymentProfile { paymentProfileId = getCustResp.profile.paymentProfiles[0].customerPaymentProfileId } };\n\n            var testTxn = new transactionRequestType\n            {\n                profile = custPaymentProfile,\n                amount = (decimal)rnd.Next(9999) / 100,\n                transactionType = transactionTypeEnum.authCaptureTransaction.ToString()\n            };\n\n            var txnControler = new createTransactionController(new createTransactionRequest { transactionRequest = testTxn });\n            txnControler.Execute();\n            var txnControlerResp = txnControler.GetApiResponse();\n\n            //verify transaction succeeded.\n            Assert.AreEqual(\"1\", txnControlerResp.transactionResponse.messages[0].code);\n\n        }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/SampleTest/CreateTransactionSampleTest.cs",
    "content": "﻿using AuthorizeNet.Utility;\n\nnamespace AuthorizeNet.Api.Controllers.SampleTest\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Bases;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class CreateTransactionSampleTest : ApiCoreTestBase\n    {\n\n        [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n            ApiCoreTestBase.SetUpBeforeClass();\n        }\n\n        [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n            ApiCoreTestBase.TearDownAfterClass();\n        }\n\n        [SetUp]\n        public new void SetUp()\n        {\n            base.SetUp();\n        }\n\n        [TearDown]\n        public new void TearDown()\n        {\n            base.TearDown();\n        }\n\n        [Test]\n        public void SampleCodeCreateTransaction()\n        {\n            LogHelper.info(Logger, \"Sample createTransaction\");\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //create a transaction\n            var transactionRequestType = new transactionRequestType\n                {\n                    transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),\n                    amount = SetValidTransactionAmount(Counter),\n                    payment = PaymentOne,\n                    order =  OrderType,\n                    customer =  CustomerDataOne,\n                    billTo =  CustomerAddressOne,\n\n                };\n            var createRequest = new createTransactionRequest\n            {\n                refId = RefId,\n                transactionRequest = transactionRequestType,\n            };\n\n            //create controller, execute request and get response\n            var createController = new createTransactionController(createRequest);\n            createController.Execute();\n            var createResponse = createController.GetApiResponse();\n\n            //Test response\n            Assert.IsNotNull(createResponse.transactionResponse);\n            LogHelper.info(Logger, \"Response: {0}\", createResponse);\n            DisplayResponse(createResponse, \"Create Transaction Response\");\n            LogHelper.info(Logger, \"Created Transaction: {0}\", createResponse.transactionResponse);\n            Assert.IsNotNull(createResponse.transactionResponse.transId);\n            long transId;\n            Assert.IsTrue( long.TryParse(createResponse.transactionResponse.transId, out transId));\n            if (0 == transId)\n            {\n                ValidateFailure<createTransactionRequest, createTransactionResponse, createTransactionController>(createController, createResponse);\n                Assert.IsNotNull(createResponse.transactionResponse.errors);\n                foreach (var error in createResponse.transactionResponse.errors)\n                {\n                    LogHelper.info(Logger, \"Error-> Code:{0}, Text:{1}\", error.errorCode, error.errorText);\n                }\n            }\n            else\n            {\n                Assert.AreNotEqual(0, transId);\n                ValidateSuccess<createTransactionRequest, createTransactionResponse, createTransactionController>(createController, createResponse);\n            }\n        }\n\n        /// <summary>\n        /// This sample demonstrates charging a profile using the CreateTransaction API method\n        /// See API example here http://developer.authorize.net/api/reference/#payment-transactions-charge-a-customer-profile\n        /// </summary>\n        [Test]\n        public void SampleCodeCreateTransactionUsingProfile()\n        {\n            LogHelper.info(Logger, \"Sample createTransaction using Profile\");\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            // Use CIM to create the profile we're going to charge\n            var customerProfileId = \"0\";\n            var paymentProfileId = \"0\";\n            Assert.IsTrue(createProfile(out customerProfileId, out paymentProfileId));\n\n            //create a customer payment profile\n            customerProfilePaymentType profileToCharge = new customerProfilePaymentType();\n            profileToCharge.customerProfileId = customerProfileId;\n            profileToCharge.paymentProfile = new paymentProfile { paymentProfileId = paymentProfileId};\n\n            var transactionRequestType = new transactionRequestType\n            {\n                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),\n                amount = SetValidTransactionAmount(Counter),\n                profile = profileToCharge\n            };\n            var createRequest = new createTransactionRequest\n            {\n                refId = RefId,\n                transactionRequest = transactionRequestType,\n            };\n            //create controller, execute and get response\n            var createController = new createTransactionController(createRequest);\n            createController.Execute();\n            var createResponse = createController.GetApiResponse();\n\n            //test response\n            Assert.IsNotNull(createResponse.transactionResponse);\n            LogHelper.info(Logger, \"Response: {0}\", createResponse);\n            DisplayResponse(createResponse, \"Create Transaction Response\");\n            LogHelper.info(Logger, \"Created Transaction: {0}\", createResponse.transactionResponse);\n            Assert.IsNotNull(createResponse.transactionResponse.transId);\n            long transId;\n            Assert.IsTrue(long.TryParse(createResponse.transactionResponse.transId, out transId));\n            if (0 == transId)\n            {\n                ValidateFailure<createTransactionRequest, createTransactionResponse, createTransactionController>(createController, createResponse);\n                Assert.IsNotNull(createResponse.transactionResponse.errors);\n                foreach (var error in createResponse.transactionResponse.errors)\n                {\n                    LogHelper.info(Logger, \"Error-> Code:{0}, Text:{1}\", error.errorCode, error.errorText);\n                }\n            }\n            else\n            {\n                Assert.AreNotEqual(0, transId);\n                ValidateSuccess<createTransactionRequest, createTransactionResponse, createTransactionController>(createController, createResponse);\n            }\n        }\n\n        //Create Customer Profile and Customer Payment Profile, returning their IDs.\n        private Boolean createProfile(out String customerProfileId, out String paymentProfileId)\n        {\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            var rnd = new AnetRandom(DateTime.Now.Millisecond);\n            string custIndx = rnd.Next(99999).ToString();\n\n            var creditCard = new creditCardType { cardNumber = \"4111111111111111\", expirationDate = \"0645\" };\n            var paymentType = new paymentType {Item = creditCard};\n\n            var paymentProfile = new customerPaymentProfileType{ payment = paymentType };\n\n            var createRequest = new createCustomerProfileRequest\n            {\n                profile = new customerProfileType{\n                                    merchantCustomerId = \"TSTCSTER\"+custIndx,\n                                    paymentProfiles = new customerPaymentProfileType[]{ paymentProfile }\n                                    }   \n            };\n\n            //create profiles and get response\n            var createController = new createCustomerProfileController(createRequest);\n            var createResponse = createController.ExecuteWithApiResponse();\n\n            //validate response\n            if (messageTypeEnum.Ok != createResponse.messages.resultCode)\n            {\n                customerProfileId = \"0\";\n                paymentProfileId = \"0\";\n                return false;\n            }\n            else\n            {\n                Assert.NotNull(createResponse.customerProfileId);\n                Assert.NotNull(createResponse.customerPaymentProfileIdList);\n                Assert.AreNotEqual(0, createResponse.customerPaymentProfileIdList.Length);\n\n                customerProfileId = createResponse.customerProfileId;\n                paymentProfileId = createResponse.customerPaymentProfileIdList[0];\n\n                return true;\n            }\n        }\n\n        [Test]\n        public void SampleCodeCreateTransactionWithCreditCard()\n        {\n            //Common code to set for all requests\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //set up data for transaction\n            var transactionAmount = SetValidTransactionAmount(Counter);\n            var creditCard = new creditCardType { cardNumber = \"4111111111111111\", expirationDate = \"0645\" };\n\n            //standard api call to retrieve response\n            var paymentType = new paymentType {Item = creditCard};\n            var transactionRequest = new transactionRequestType\n                {\n                    transactionType = transactionTypeEnum.authOnlyTransaction.ToString(),\n                    payment = paymentType,\n                    amount = transactionAmount,\n                };\n            var request = new createTransactionRequest {transactionRequest = transactionRequest};\n            var controller = new createTransactionController(request);\n            controller.Execute();\n            var response = controller.GetApiResponse();\n\n            //validate\n            Assert.AreEqual(\"1\", response.transactionResponse.messages[0].code);\n        }\n\n        [Test]\n        [Ignore(\"To run this test, use your ApplePay ApiLoginIdKey and TransactionKey to configure this test below.\")]\n        public void SampleCodeCreateTransactionWithApplePay()\n        {\n            // The test setup.\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType\n                {\n                    name = \"????\",  // your ApplyPay ApiLoginIdKey\n                    ItemElementName = ItemChoiceType.transactionKey,\n                    Item = \"????\"   // your ApplyPay TransactionKey\n                };\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //set up data based on transaction\n            var transactionAmount = SetValidTransactionAmount(Counter);\n            var opaqueData = new opaqueDataType\n                {\n                    dataDescriptor = \"COMMON.APPLE.INAPP.PAYMENT\",\n                    dataValue =\n                        \"eyJkYXRhIjoiQkRQTldTdE1tR2V3UVVXR2c0bzdFXC9qKzFjcTFUNzhxeVU4NGI2N2l0amNZSTh3UFlBT2hzaGpoWlBycWRVcjRYd1BNYmo0emNHTWR5KysxSDJWa1BPWStCT01GMjV1YjE5Y1g0bkN2a1hVVU9UakRsbEIxVGdTcjhKSFp4Z3A5ckNnc1NVZ2JCZ0tmNjBYS3V0WGY2YWpcL284WkliS25yS1E4U2gwb3VMQUtsb1VNbit2UHU0K0E3V0tycXJhdXo5SnZPUXA2dmhJcStIS2pVY1VOQ0lUUHlGaG1PRXRxK0grdzB2UmExQ0U2V2hGQk5uQ0hxenpXS2NrQlwvMG5xTFpSVFliRjBwK3Z5QmlWYVdIZWdoRVJmSHhSdGJ6cGVjelJQUHVGc2ZwSFZzNDhvUExDXC9rXC8xTU5kNDdrelwvcEhEY1JcL0R5NmFVTStsTmZvaWx5XC9RSk4rdFMzbTBIZk90SVNBUHFPbVhlbXZyNnhKQ2pDWmxDdXcwQzltWHpcL29iSHBvZnVJRVM4cjljcUdHc1VBUERwdzdnNjQybTRQendLRitIQnVZVW5lV0RCTlNEMnU2amJBRzMiLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiOTRlZTA1OTMzNWU1ODdlNTAxY2M0YmY5MDYxM2UwODE0ZjAwYTdiMDhiYzdjNjQ4ZmQ4NjVhMmFmNmEyMmNjMiIsInRyYW5zYWN0aW9uSWQiOiJjMWNhZjVhZTcyZjAwMzlhODJiYWQ5MmI4MjgzNjM3MzRmODViZjJmOWNhZGYxOTNkMWJhZDlkZGNiNjBhNzk1IiwiZXBoZW1lcmFsUHVibGljS2V5IjoiTUlJQlN6Q0NBUU1HQnlxR1NNNDlBZ0V3Z2ZjQ0FRRXdMQVlIS29aSXpqMEJBUUloQVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL01Gc0VJUFwvXC9cL1wvOEFBQUFCQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cLzhCQ0JheGpYWXFqcVQ1N1BydlZWMm1JYThaUjBHc014VHNQWTd6ancrSjlKZ1N3TVZBTVNkTmdpRzV3U1RhbVo0NFJPZEpyZUJuMzZRQkVFRWF4ZlI4dUVzUWtmNHZPYmxZNlJBOG5jRGZZRXQ2ek9nOUtFNVJkaVl3cFpQNDBMaVwvaHBcL200N242MHA4RDU0V0s4NHpWMnN4WHM3THRrQm9ONzlSOVFJaEFQXC9cL1wvXC84QUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLys4NXZxdHB4ZWVoUE81eXNMOFl5VlJBZ0VCQTBJQUJHbStnc2wwUFpGVFwva0RkVVNreHd5Zm84SnB3VFFRekJtOWxKSm5tVGw0REdVdkFENEdzZUdqXC9wc2hCWjBLM1RldXFEdFwvdERMYkUrOFwvbTB5Q21veHc9IiwicHVibGljS2V5SGFzaCI6IlwvYmI5Q05DMzZ1QmhlSEZQYm1vaEI3T28xT3NYMkora0pxdjQ4ek9WVmlRPSJ9LCJzaWduYXR1cmUiOiJNSUlEUWdZSktvWklodmNOQVFjQ29JSURNekNDQXk4Q0FRRXhDekFKQmdVckRnTUNHZ1VBTUFzR0NTcUdTSWIzRFFFSEFhQ0NBaXN3Z2dJbk1JSUJsS0FEQWdFQ0FoQmNsK1BmMytVNHBrMTNuVkQ5bndRUU1Ba0dCU3NPQXdJZEJRQXdKekVsTUNNR0ExVUVBeDRjQUdNQWFBQnRBR0VBYVFCQUFIWUFhUUJ6QUdFQUxnQmpBRzhBYlRBZUZ3MHhOREF4TURFd05qQXdNREJhRncweU5EQXhNREV3TmpBd01EQmFNQ2N4SlRBakJnTlZCQU1lSEFCakFHZ0FiUUJoQUdrQVFBQjJBR2tBY3dCaEFDNEFZd0J2QUcwd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFOQzgra2d0Z212V0YxT3pqZ0ROcmpURUJSdW9cLzVNS3ZsTTE0NnBBZjdHeDQxYmxFOXc0ZklYSkFEN0ZmTzdRS2pJWFlOdDM5ckx5eTd4RHdiXC81SWtaTTYwVFoyaUkxcGo1NVVjOGZkNGZ6T3BrM2Z0WmFRR1hOTFlwdEcxZDlWN0lTODJPdXA5TU1vMUJQVnJYVFBITmNzTTk5RVBVblBxZGJlR2M4N20wckFnTUJBQUdqWERCYU1GZ0dBMVVkQVFSUk1FK0FFSFpXUHJXdEpkN1laNDMxaENnN1lGU2hLVEFuTVNVd0l3WURWUVFESGh3QVl3Qm9BRzBBWVFCcEFFQUFkZ0JwQUhNQVlRQXVBR01BYndCdGdoQmNsK1BmMytVNHBrMTNuVkQ5bndRUU1Ba0dCU3NPQXdJZEJRQURnWUVBYlVLWUNrdUlLUzlRUTJtRmNNWVJFSW0ybCtYZzhcL0pYditHQlZRSmtPS29zY1k0aU5ERkFcL2JRbG9nZjlMTFU4NFRId05SbnN2VjNQcnY3UlRZODFncTBkdEM4elljQWFBa0NISUkzeXFNbko0QU91NkVPVzlrSmsyMzJnU0U3V2xDdEhiZkxTS2Z1U2dRWDhLWFFZdVpMazJScjYzTjhBcFhzWHdCTDNjSjB4Z2VBd2dkMENBUUV3T3pBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWFCUUF3RFFZSktvWklodmNOQVFFQkJRQUVnWUJhSzNFbE9zdGJIOFdvb3NlREFCZitKZ1wvMTI5SmNJYXdtN2M2VnhuN1phc05iQXEzdEF0OFB0eSt1UUNnc3NYcVprTEE3a3oyR3pNb2xOdHY5d1ltdTlVandhcjFQSFlTK0JcL29Hbm96NTkxd2phZ1hXUnowbk1vNXkzTzFLelgwZDhDUkhBVmE4OFNyVjFhNUpJaVJldjNvU3RJcXd2NXh1WmxkYWc2VHI4dz09In0=\"\n                };\n            \n            //standard api call to retrieve response\n            var paymentType = new paymentType { Item = opaqueData };\n            var transactionRequest = new transactionRequestType\n            {\n                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),\n                payment = paymentType,\n                amount = transactionAmount,\n            };\n            var request = new createTransactionRequest { transactionRequest = transactionRequest };\n            var controller = new createTransactionController(request);\n            controller.Execute();\n            var response = controller.GetApiResponse();\n\n            //validate\n            Assert.AreEqual(\"1\", response.transactionResponse.messages[0].code);\n        }\n\n        [Test]\n        [Ignore(\"To run this test, use dataKey, dataValue, callId details and Merchant ApiLoginIdKey and TransactionKey to configure this test below.\")]\n        public void SampleCodeCreateTransactionWithVisaCheckOut()\n        {\n            // The test setup.\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType()\n            {\n                name = \"5KP3u95bQpv\",\n                ItemElementName = ItemChoiceType.transactionKey,\n                Item = \"346HZ32z3fP4hTG2\",\n            };\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //set up data based on transaction\n            var transactionAmount = SetValidTransactionAmount(Counter);\n            var opaqueDataType = new opaqueDataType\n            {\n                dataDescriptor = \"COMMON.VCO.ONLINE.PAYMENT\",\n                dataKey = \"NQzcMISSxLX789w+CGX+tXi3lKntO1dpZbZaREOUprVRByJkg1xnpc2Wx9aT5/BLOxQmHqmIsjjy+tF6HqKKGwovvXjIS3fE3y3tBRNbz8D7y6vYMup+AWbEvZqDEBSi\",\n                dataValue = \"+6hn53rUcggeZZti2IdBp3qNLa9ohAH87cFSc1BggZFNEpsrfdJbRViWwv/JbCNkHkOD6CpFlRO3gCDH2VEQTd8laqWR1ccHiZpdYDnOxfhUQpU9E18ZByW7j17puVWogh7HaItbDUL0YvIxxfClX9bohurOo1JHyUgBO9YxTj3CLY2RdRkjmipAQqOyxiGX9enFQjAHdPgKj2RxnVMYe8on5ei94zbtYUbI3fXrp3I+DJcZCGZ4SzrlnPAPpcn20qaIoaOTX/xuD+voRAUKb/KE5oy+CuSNBtyMBgrvWU0Lf3SLjGfE/FJx3Bh9/LABCwWBYQvtpo3DQkDItp8P5/3EOz7JwBFbFd9UQs8wm/J8YvJMd3Kf4MkQ1+KYyg17RH6OAcoNaqQxT3MjOSvVv3KAlKV82ZDco+IRTVPcjyVd/Vff0qDIqes08fPCQDhttefl/bh18urrmCnM9PcP7xJ0A8Ek7LRMLF19c81O7IIaEn0FXxq+UuV5oZArY+mE4GD08xizyd0hoW9pvsdZ7RkuPu4yK1yXPTAKbc3vTxrj0kamFWd4kRHapwLxcvawIQzrlQGQj5AUFkpEg1o1UGWz0vtGgqE08hplJehsTZwPw9KSaA+u5M79gXM3uLR8g2RlE5cEDRLy3aEv0ufeag+lt8zME9wzrfTK8zhjTdBGIAJqSUYto1JbiW9IEMJgjLaqEJhwO49pNlUgOJVp7BXO9JoHPM8PyS+vZlOCX6b0bip/+mCEok09L9B0IhnLjs95Q4kDZfCcQNfDIdLEPe5tLp8eGaSkK3HDoQFbZKCFyGmUTEEF19PScZURbYuGrwpxHqqAAhU87ZmdhRRdJbMTrWPhIvk9/kRzRIP2ciKu8ClNZIJ9azafIUBo7WdlYs+6QbLCn8UCNvYczrLXo3tGhVvHPheWWgmuxDYbHDyJu7SIPKgVvi6LrPYgg8g+I0pMWPojWmBdp85tMt+sQrWk2x325/pOrYXj8fc2W8PHtOAka1EltTdZiNsRKzA8orzLQrtvqtxhzgXMSTOEmosEAxA7DuQdKscL2BWWmiYsAOCNYQxtm/nR6PBAKZ5PDS6Wjk73hKTOeB6kA5E/H1ij15iJqNK6O1+4b4gpJHnHm7tccVQIK5w1EeLR1waqO2G4FMM5FoyA1WsSEQURQncDek0bK1ohcu73l5FLiq8he/H6gF3dEsKL6Z367ki59HKwnnJXfWj/WOUZxTbIho4H5i/lIcc0vSgFH84ReTjjiANEm+ccl5PcFV9wEVlbGXiOiJfeZ0mEzo9ghDyKEAGEDzZtHDwZzKEYyT92oFXkeewGQ6DJX7GSQPZ1MW17jAQODAqmzJcmwMunc7PwGvJcscRbxkXpGe7/asq2H4POz3ByBrBQHCl/+oUVtw8hEbavCpuEgXfWl09Sc3Dfg69UP8XBR80vWsP1YL8YtBxOmL2hinZc5SJZ4boulAOHiMQyKBwwkg2D1gJDEY9JzUJtbg3p06swB0UthNmVuo/1mV8047sB5QrjGCugEo87+vh9eV1EVvyLZLRFS+RIZoIpLR3UkO6Pe1s7MnO7ZvCsbz9sKNb0GtQPoFtU9b7KaCHgQ20vL7xjqTEmR2QwkHEriuGJ8a7oMdSd88w/e2InL1SfHCnS2JeWY9vY6RSTvmjkEf3BFGhHjFP5QRR3Bd8AVH/1YrFcxtSSJP5GeY3CVnJgjZToK+ngxsRzpDcEm6pz3RPUEIBNkk3c9plpdlMbyvuVVKXLSFdTdtAALRfiD9qhdpgGMqboZ0kXi+qn3irYXT19q8oQktoZ4ILkbzewloftLbfUTqQprA8cddy7/ikUKKhBoBVs/DAupRe9aRP3TLgIEz6eNNilZszXoFfUv9EgqOZ0EBb83KNV3HvbE2xGJcTArjRpmzszQQkNOpJnyRDtvPj7FU7K16UYQ9zQBrxnx5vnoWSaqNhzOxikd+hWZ6i5G7EPpCO+utdoMdyOTOoDAjBmiy5JsDHSVv4zvkT9ySYPH2PmS47mMEpZICKTAxuDrm3zTpT064P+7ivcGmaIyaBCkc4udIHaWSbi5XJ/ciXUxSqAtqaVcd5HD++6vjBzKhbAPU4shSBav6qCSp/XqFurEAJbkLB3VmXe7bghcM+VNPJHHiYlIdzndDaFENyaZCukypggK0Gf4cH+8CKI9YnQx9s4JMs4lX57i4IkkoJE7fjWaOHyxYM/AiKvWlMQtRO8Y5Yta454JfHVq7Mg11Wqu2Ex4q5QLNqKudVt3wveu3G1zoNFanW6i+d0Aa3hTdxerl9BacX/\"\n            };\n\n            //standard api call to retrieve response\n            var paymentType = new paymentType { Item = opaqueDataType };\n            var transactionRequest = new transactionRequestType\n            {\n                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),\n                payment = paymentType,\n                amount = transactionAmount,\n                callId = \"1482912778237697701\"\n            };\n            var request = new createTransactionRequest { transactionRequest = transactionRequest };\n            var controller = new createTransactionController(request);\n            controller.Execute();\n            var response = controller.GetApiResponse();\n\n            //validate\n            Assert.AreEqual(\"1\", response.transactionResponse.messages[0].code);\n        }\n\n        [Test]\n        public void SampleCodeCreateTransactionWithPayPal()\n        {\n            /*\n             * Please enable the PayPal feature of your ANet merchant account.\n             */ \n\n            //Common code to set for all requests\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = AuthorizeNet.Environment.SANDBOX; //TestEnvironment;\n\n            //set up data for transaction\n            var transactionAmount = SetValidTransactionAmount(Counter) / 100;\n            var payPalData = new payPalType \n            {\n                paypalLc = \"IT\",\n                paypalPayflowcolor = \"FFFF00\",\n                successUrl = PayPalOne.successUrl,\n                cancelUrl = PayPalOne.cancelUrl,\n            };\n\n            //standard api call to retrieve response\n            var paymentType = new paymentType { Item = payPalData };\n            var transactionRequest = new transactionRequestType\n            {\n                transactionType = transactionTypeEnum.authOnlyTransaction.ToString(),\n                payment = paymentType,\n                amount = transactionAmount,\n            };\n            var request = new createTransactionRequest { transactionRequest = transactionRequest };\n            var controller = new createTransactionController(request);\n            controller.Execute();\n            var response = controller.GetApiResponse();\n\n            //validate. The code 2000 is: Need the payer's consent.\n            Assert.AreEqual(\"2000\", response.transactionResponse.messages[0].code);\n        }\n\n        [Test]\n        [Ignore(\"Requires user to specify settled transaction\")]\n        public void SampleCodeCreateCreditRequestForSettledTransaction()\n        {\n            var rnd = new AnetRandom(DateTime.Now.Millisecond);\n\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n\n            // Find a settled credit card transaction and set txnToCredit to its transaction ID\n            string txnToCredit = \"Not Set\";\n            \n\n            if (txnToCredit == \"Not Set\")\n            {\n                Assert.Fail(\"This test requires that you set txnToCredit to the transaction ID of a settled credit card transaction\");\n            }\n\n\n            //get details of the specified transaction\n            decimal txnAmount = 0m;\n            string txnCardNo = string.Empty;\n\n            var gtdReq = new getTransactionDetailsRequest { transId = txnToCredit };\n            var gtdCont = new getTransactionDetailsController(gtdReq);\n            gtdCont.Execute();\n            var gtdResp = gtdCont.GetApiResponse();\n\n            //Test the transaction before continuing\n            Assert.AreEqual(messageTypeEnum.Ok, gtdResp.messages.resultCode);\n\n            txnAmount = gtdResp.transaction.settleAmount;\n            txnCardNo = ((AuthorizeNet.Api.Contracts.V1.creditCardMaskedType)(gtdResp.transaction.payment.Item)).cardNumber;\n\n            //Create payment type that matches transaction to credit\n            var creditCard = new creditCardType { cardNumber = txnCardNo.TrimStart(new char[] { 'X' }), expirationDate = \"XXXX\" };\n            var paymentType = new paymentType { Item = creditCard };\n\n            //Create credit request\n            transactionRequestType txnType = new transactionRequestType\n            {\n                amount = txnAmount,\n                refTransId = txnToCredit,\n                transactionType = transactionTypeEnum.refundTransaction.ToString(),\n                payment = paymentType,\n            };\n\n            createTransactionRequest creditReq = new createTransactionRequest { transactionRequest = txnType };\n            createTransactionController creditCont = new createTransactionController(creditReq);\n            creditCont.Execute();\n            createTransactionResponse creditResp = creditCont.GetApiResponse();\n\n            //validate\n            Assert.AreEqual(\"1\", creditResp.transactionResponse.messages[0].code);\n        }\n\n        //Tests execution of credit without a linked transaction.\n        [Test]\n        public void SampleCodeCreateUnlinkedCredit()\n        {\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            decimal txnAmount = SetValidTransactionAmount(Counter) / 100;\n\n            //Set payment info for credit\n            var creditCard = new creditCardType { cardNumber = \"4111111111111111\", expirationDate = \"0645\" };\n            var paymentType = new paymentType { Item = creditCard };\n\n            //Create credit request\n            transactionRequestType txnType = new transactionRequestType\n            {\n                amount = txnAmount,\n                transactionType = transactionTypeEnum.refundTransaction.ToString(),\n                payment = paymentType,\n            };\n\n\n            createTransactionRequest creditReq = new createTransactionRequest { transactionRequest = txnType };\n            createTransactionController creditCont = new createTransactionController(creditReq);\n            creditCont.Execute();\n            createTransactionResponse creditResp = creditCont.GetApiResponse();\n\n            //validate\n            Assert.AreEqual(\"1\", creditResp.transactionResponse.messages[0].code);\n        }\n\n        [Test]\n        public void SampleCodeCreateTransactionPriorAuthCapture()\n        {\n            //Common code to set for all requests\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //set up data based on transaction\n            var transactionAmount = SetValidTransactionAmount(Counter);\n            var creditCard = new creditCardType { cardNumber = \"4111111111111111\", expirationDate = \"0645\" };\n\n            //Build auth only transaction request.\n            var paymentType = new paymentType { Item = creditCard };\n            var transactionRequest = new transactionRequestType\n            {\n                transactionType = transactionTypeEnum.authOnlyTransaction.ToString(),\n                payment = paymentType,\n                amount = transactionAmount,\n            };\n            var request = new createTransactionRequest { transactionRequest = transactionRequest };\n            var controller = new createTransactionController(request);\n            controller.Execute();\n            var response = controller.GetApiResponse();\n\n\n            //Get transaction details\n            var getDetailsReq = new getTransactionDetailsRequest\n            {\n                transId = response.transactionResponse.transId\n            };\n            var getDetailsCont = new getTransactionDetailsController(getDetailsReq);\n            getDetailsCont.Execute();\n            var getDetailsResp = getDetailsCont.GetApiResponse();\n\n\n            //Build and execute the capture request.\n            var capCC = new creditCardType\n            {\n                cardNumber = ((creditCardMaskedType)(getDetailsResp.transaction.payment.Item)).cardNumber.TrimStart(new char[] { 'X' }),\n                expirationDate = \"XXXX\",\n            };\n\n            var capPayment = new paymentType { Item = capCC };\n\n            var capTransactionRequest = new transactionRequestType\n            {\n                transactionType = transactionTypeEnum.priorAuthCaptureTransaction.ToString(),\n                refTransId = getDetailsResp.transaction.transId,\n                authCode = getDetailsResp.transaction.authCode,\n            };\n\n            request = new createTransactionRequest { transactionRequest = capTransactionRequest };\n            controller = new createTransactionController(request);\n            controller.Execute();\n            var capResponse = controller.GetApiResponse();\n\n            //validate\n            Assert.AreEqual(\"1\", capResponse.transactionResponse.messages[0].code);\n        }\n\n        [Test]\n        public void TransactionRequest_HandleError()\n        {\n            LogHelper.info(Logger, \"CreateProfileWithCreateTransactionRequestTest\");\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //create a transaction\n            var transactionRequestType = new transactionRequestType\n            {\n                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),\n                amount = SetValidTransactionAmount(Counter),\n                payment = new paymentType { Item = new creditCardType { cardNumber = \"0111111111111111\", expirationDate = \"122035\" } },\n                order = OrderType,\n                customer = CustomerDataOne,\n                billTo = CustomerAddressOne,\n                shipTo = CustomerAddressOne,\n            };\n            var createRequest = new createTransactionRequest\n            {\n                refId = RefId,\n                transactionRequest = transactionRequestType,\n            };\n            //create controller, execute and get response\n            var createController = new createTransactionController(createRequest);\n            createController.Execute();\n            var createResponse = createController.GetApiResponse();\n\n            //Validate error code where request is submitted properly, but request fails.\n            Assert.AreEqual(\"6\", createResponse.transactionResponse.errors[0].errorCode);\n\n            //Validate error code where submission of request fails.\n            ((creditCardType)transactionRequestType.payment.Item).cardNumber = \"01\";\n            createController = new createTransactionController(createRequest);\n            createController.Execute();\n\n            if (createController.GetApiResponse() == null)\n            {\n                var errorResponse = createController.GetErrorResponse();\n                Assert.AreEqual(\"E00003\", errorResponse.messages.message[0].code);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/SampleTest/CustomerProfileSampleTest.cs",
    "content": "﻿namespace AuthorizeNETtest.Api.Controllers.SampleTest\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Bases;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n    \n    [TestFixture]\n    class CustomerProfileSampleTest: ApiCoreTestBase {\n\n        [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n            ApiCoreTestBase.SetUpBeforeClass();\n        }\n\n        [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n            ApiCoreTestBase.TearDownAfterClass();\n        }\n\n        [SetUp]\n        public new void SetUp()\n        {\n            base.SetUp();\n        }\n\n        [TearDown]\n        public new void TearDown()\n        {\n            base.TearDown();\n        }\n\n        private customerPaymentProfileType getCustomerPaymentProfileObject()\n        {\n            var CreditCardOne = new creditCardType\n            {\n                cardNumber = \"4111111111111111\",\n                expirationDate = \"2045-10\"\n            };\n\n            var PaymentOne = new paymentType\n            {\n                Item = CreditCardOne\n            };\n\n            var CustomerPaymentProfile = new customerPaymentProfileType\n            {\n                customerType = customerTypeEnum.individual,\n                payment = PaymentOne\n            };\n\n            return CustomerPaymentProfile;\n        }\n\n        [Test]\n        public void GetCustomerPaymentProfileListSampleTest()\n        {\n            LogHelper.info(Logger, \"Sample getCustomerPaymentProfileList\");\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            CustomerProfileType.paymentProfiles = new customerPaymentProfileType[] { getCustomerPaymentProfileObject() };\n            var createRequest = new createCustomerProfileRequest\n            {\n                refId = RefId,\n                profile = CustomerProfileType\n            };\n\n            //create a customer profile\n            var createController = new createCustomerProfileController(createRequest);\n            var createResponse = createController.ExecuteWithApiResponse();\n            Assert.NotNull(createResponse);\n            LogHelper.info(Logger, \"Created Customer profile : {0}\", createResponse.customerProfileId);\n\n            var getProfileListRequest = new getCustomerPaymentProfileListRequest\n            {\n                refId = RefId,\n                searchType = CustomerPaymentProfileSearchTypeEnum.cardsExpiringInMonth,\n                month = \"2045-10\"\n            };\n\n            bool found = false;\n            //setup retry loop to allow for delays in replication\n            for (int counter = 0; counter < 5; counter++)\n            {\n\t\t\t\t//get customer profile list\n                var getProfileController = new getCustomerPaymentProfileListController(getProfileListRequest);\n                var getProfileListResponse = getProfileController.ExecuteWithApiResponse();\n\n                for (int profile = 0; profile < getProfileListResponse.paymentProfiles.Length; profile++)\n                {\n                    var profileId = Convert.ToString(getProfileListResponse.paymentProfiles[profile].customerPaymentProfileId);\n                    if (profileId.Equals(createResponse.customerPaymentProfileIdList[0]))\n                    {\n                        found = true;\n                        break;\n                    }\n                }\n\n                if (found)\n                    break;\n\n                System.Threading.Thread.Sleep(10000);\n            }\n\n            Assert.IsTrue(found);\n            \n\t\t\t//delete the created customer profile\n\t\t\tvar deleteRequest = new deleteCustomerProfileRequest\n            {\n                refId = RefId,\n                customerProfileId = createResponse.customerProfileId\n            };\n            var deleteController = new deleteCustomerProfileController(deleteRequest);\n            var deleteResponse = deleteController.ExecuteWithApiResponse();\n            Assert.IsNotNull(deleteResponse);\n        }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/SampleTest/ErrorMessagesSampleTest.cs",
    "content": "﻿using AuthorizeNet.Utility;\n\nnamespace AuthorizeNet.Api.Controllers.SampleTest\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Bases;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n    using System.Collections.Generic;\n\n    [TestFixture]\n    public class ErrorMessagesSampleTest : ApiCoreTestBase\n    {\n\n        [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n            ApiCoreTestBase.SetUpBeforeClass();\n        }\n\n        [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n            ApiCoreTestBase.TearDownAfterClass();\n        }\n\n        [SetUp]\n        public new void SetUp()\n        {\n            base.SetUp();\n        }\n\n        [TearDown]\n        public new void TearDown()\n        {\n            base.TearDown();\n        }\n\n        [Test]\n        public void TestErrorMessages_ARB_ExpiredCard()\n        {\n            var rnd = new AnetRandom(DateTime.Now.Millisecond);\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n\n            //create a subscription with an invalid (expired) credit card in payment.\n            var subscriptionDef = new ARBSubscriptionType\n            {\n\n\n                paymentSchedule = new paymentScheduleType\n                {\n                    interval = new paymentScheduleTypeInterval\n                    {\n                        length = 7,\n                        unit = ARBSubscriptionUnitEnum.days\n                    },\n                    startDate = DateTime.UtcNow,\n                    totalOccurrences = 2,\n                },\n\n\n                amount = SetValidSubscriptionAmount(Counter),\n                billTo = new nameAndAddressType\n                {\n                    address = \"1234 Elm St NE\",\n                    city = \"Bellevue\",\n                    state = \"WA\",\n                    zip = \"98007\",\n                    firstName = \"First\",\n                    lastName = \"Last\"\n                },\n\n                payment = new paymentType\n                {\n                    Item = new creditCardType\n                                 {\n                                     cardCode = \"655\",\n                                     cardNumber = \"4111111111111111\",\n                                     expirationDate = \"122013\", // deliberately set payment to use expired CC\n                                 }\n                },\n\n                customer = new customerType { email = \"somecustomer@test.org\", id = \"5\", },\n\n                order = new orderType { description = string.Format(\"member monthly {0}\", rnd.Next(99999)) },\n            };\n\n            var arbRequest = new ARBCreateSubscriptionRequest { subscription = subscriptionDef };\n            var arbController = new ARBCreateSubscriptionController(arbRequest);\n            arbController.Execute();\n\n            var arbCreateResponse = arbController.GetApiResponse();\n\n            //If request responds with an error, walk the messages and get code and text for each message.\n            if (arbController.GetResultCode() == messageTypeEnum.Error)\n            {\n                foreach (var msg in arbCreateResponse.messages.message)\n                {\n                    Console.WriteLine(\"Error Num = {0}, Message = {1}\", msg.code, msg.text);\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/SampleTest/eCheckTransactionSampleTest.cs",
    "content": "﻿using AuthorizeNet.Utility;\n\nnamespace AuthorizeNet.Api.Controllers.SampleTest\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Bases;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class CreateECheckTransactionSampleTest : ApiCoreTestBase\n    {\n        [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n            ApiCoreTestBase.SetUpBeforeClass();\n        }\n\n        [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n            ApiCoreTestBase.TearDownAfterClass();\n        }\n\n        [SetUp]\n        public new void SetUp()\n        {\n            base.SetUp();\n        }\n\n        [TearDown]\n        public new void TearDown()\n        {\n            base.TearDown();\n        }\n\n\n        [Test]\n        [Ignore(\"Bank account details are invalid\")]\n        public void CreateTransactionWithECheck_AuthCapture()\n        {\n            //Common code to set for all requests\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //set up data based on transaction\n            var transactionAmount = SetValidTransactionAmount(Counter);\n            var echeck = new bankAccountType { accountNumber = \"123456\", accountType = bankAccountTypeEnum.checking, checkNumber = \"1234\", bankName = \"Bank of Seattle\", routingNumber = \"125000024\", echeckType = echeckTypeEnum.WEB, nameOnAccount = \"Joe Customer\" };\n\n            //standard api call to retrieve api response\n            var paymentType = new paymentType { Item = echeck };\n            var transactionRequest = new transactionRequestType\n            {\n                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),\n                payment = paymentType,\n                amount = (decimal)transactionAmount,\n            };\n            var request = new createTransactionRequest { transactionRequest = transactionRequest };\n            var controller = new createTransactionController(request);\n            controller.Execute();\n            var response = controller.GetApiResponse();\n\n            //validate\n            Assert.AreEqual(\"1\", response.transactionResponse.messages[0].code);\n        }\n\n        [Test]\n        [Ignore(\"Bank account details are invalid\")]\n        public void CreateTransactionWithECheckAuth_Only()\n        {\n            //Common code to set for all requests\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //set up data based on transaction\n            decimal transactionAmount = SetValidTransactionAmount(Counter);\n            var echeck = new bankAccountType { accountNumber = \"123456\", accountType = bankAccountTypeEnum.checking, checkNumber = \"1234\", bankName = \"Bank of Seattle\", routingNumber = \"125000024\", echeckType = echeckTypeEnum.WEB, nameOnAccount = \"Joe Customer\" };\n\n            //standard api call to retrieve response\n            var paymentType = new paymentType { Item = echeck };\n            var transactionRequest = new transactionRequestType\n            {\n                transactionType = transactionTypeEnum.authOnlyTransaction.ToString(),\n                payment = paymentType,\n                amount = transactionAmount,\n            };\n            var request = new createTransactionRequest { transactionRequest = transactionRequest };\n            var controller = new createTransactionController(request);\n            controller.Execute();\n            var response = controller.GetApiResponse();\n\n            //validate\n            Assert.AreEqual(\"1\", response.transactionResponse.messages[0].code);\n        }\n\n\n\n\n        [Test]\n        [Ignore(\"Bank account details are invalid\")]\n        public void CreateCustomerProfileFromECheckTransaction()\n        {\n            var rnd = new AnetRandom(DateTime.Now.Millisecond);\n            string customerIndx = rnd.Next(99999).ToString();\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //set up data based on transaction\n            var transactionAmount = SetValidTransactionAmount(Counter);\n            var echeck = new bankAccountType { accountNumber = \"123456\", accountType = bankAccountTypeEnum.checking, checkNumber = \"1234\", bankName = \"Bank of Seattle\", routingNumber = \"125000024\", echeckType = echeckTypeEnum.WEB, nameOnAccount = \"Joe Customer\" };\n\n            //Create and submit transaction with customer info to create profile from.\n            var paymentType = new paymentType { Item = echeck };\n            var transactionRequest = new transactionRequestType\n            {\n                transactionType = transactionTypeEnum.authOnlyTransaction.ToString(),\n                payment = paymentType,\n                amount = (decimal)transactionAmount,\n                customer = new customerDataType\n                {\n                    email = string.Format(\"Customer{0}@visa.com\", customerIndx),\n                    taxId = string.Format(\"{0}{1}{2}\", rnd.Next(999).ToString(\"000\"), rnd.Next(99).ToString(\"00\"), rnd.Next(9999).ToString(\"0000\"))\n                },\n                billTo = new customerAddressType\n                {\n                    firstName = \"New\",\n                    lastName = string.Format(\"Customer{0}\", customerIndx),\n                    company = \"New Company\",\n                    address = \"1234 Sample St NE\",\n                    city = \"Bellevue\",\n                    state = \"WA\",\n                    zip = \"98001\"\n\n                },\n\n                shipTo = new customerAddressType\n                {\n                    firstName = \"New\",\n                    lastName = string.Format(\"Customer{0}\", customerIndx),\n                    company = \"New Company\",\n                    address = \"1234 Sample St NE\",\n                    city = \"Bellevue\",\n                    state = \"WA\",\n                    zip = \"98001\"\n\n                }\n\n            };\n            var request = new createTransactionRequest { transactionRequest = transactionRequest };\n            var controller = new createTransactionController(request);\n            controller.Execute();\n            var response = controller.GetApiResponse();\n\n            //Verify that transaction was accepted and save the transaction ID\n            Assert.AreEqual(messageTypeEnum.Ok, response.messages.resultCode);\n            string txnID = response.transactionResponse.transId;\n\n\n            //Build and submit request to create Customer Profile based on the accepted transaction\n            createCustomerProfileFromTransactionRequest profileFromTransReq = new createCustomerProfileFromTransactionRequest();\n            profileFromTransReq.transId = txnID;\n\n            createCustomerProfileFromTransactionController profileFromTrxnController = new createCustomerProfileFromTransactionController(profileFromTransReq);\n            profileFromTrxnController.Execute();\n            createCustomerProfileResponse createProfResp = profileFromTrxnController.GetApiResponse();\n            Assert.AreEqual(messageTypeEnum.Ok, createProfResp.messages.resultCode);\n\n            //Get customer profile and verify that profile data matches the data submitted with the transaction\n            getCustomerProfileRequest profileReq = new getCustomerProfileRequest\n            {\n                customerProfileId = createProfResp.customerProfileId\n            };\n\n            getCustomerProfileController getCustContr = new getCustomerProfileController(profileReq);\n            getCustContr.Execute();\n            var getCustResp = getCustContr.GetApiResponse();\n\n            //validate\n            Assert.AreEqual(\"1\", response.transactionResponse.messages[0].code);\n        }\n\n        [Test]\n        [Ignore(\"Requires user to specify settled transaction\")]\n        public void CreateCreditRequestForSettledECheckTransaction()\n        {\n            var rnd = new AnetRandom(DateTime.Now.Millisecond);\n\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n\n            // Find a settled credit card transaction and set txnToCredit to its transaction ID\n            string txnToCredit = \"Not Set\";\n\n            if (txnToCredit == \"Not Set\")\n            {\n                Assert.Fail(\"This test requires that you set txnToCredit to the transaction ID of a settled eCheck card transaction\");\n            }\n\n\n            //get details of the specified transaction\n            decimal txnAmount = 0m;\n            string txnCardNo = string.Empty;\n\n            var gtdReq = new getTransactionDetailsRequest { transId = txnToCredit };\n            var gtdCont = new getTransactionDetailsController(gtdReq);\n            gtdCont.Execute();\n            var gtdResp = gtdCont.GetApiResponse();\n\n            txnAmount = gtdResp.transaction.settleAmount;\n            txnCardNo = ((AuthorizeNet.Api.Contracts.V1.creditCardMaskedType)(gtdResp.transaction.payment.Item)).cardNumber;\n\n            //Create payment type that matches transaction to credit\n            var creditCard = new creditCardType { cardNumber = txnCardNo.TrimStart(new char[] { 'X' }), expirationDate = \"XXXX\" };\n            var paymentType = new paymentType { Item = creditCard };\n\n\n            //Create credit request\n            transactionRequestType txnType = new transactionRequestType\n            {\n                amount = txnAmount,\n                refTransId = txnToCredit,\n                transactionType = transactionTypeEnum.refundTransaction.ToString(),\n                payment = paymentType,\n            };\n\n            createTransactionRequest creditReq = new createTransactionRequest { transactionRequest = txnType };\n            createTransactionController creditCont = new createTransactionController(creditReq);\n            creditCont.Execute();\n            createTransactionResponse creditResp = creditCont.GetApiResponse();\n\n            //validate\n            Assert.AreEqual(\"1\", creditResp.transactionResponse.messages[0].code);\n        }\n\n        [Test]\n        [Ignore(\"Bank account details are invalid\")]\n        public void CreateTransactionWithECheckCapturePriorAuth()\n        {\n            //Common code to set for all requests\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            var rnd = new AnetRandom(DateTime.Now.Millisecond);\n\n            //Build and submit an Auth only transaction that can later be captured.\n            //set up data based on transaction\n            var transactionAmount = SetValidTransactionAmount(Counter);\n            var echeck = new bankAccountType { accountNumber = \"123456\", accountType = bankAccountTypeEnum.checking, checkNumber = \"1234\", bankName = \"Bank of Seattle\", routingNumber = \"125000024\", echeckType = echeckTypeEnum.WEB, nameOnAccount = \"Joe Customer\" };\n\n            //standard api call to retrieve response\n            var paymentType = new paymentType { Item = echeck };\n            var transactionRequest = new transactionRequestType\n            {\n                transactionType = transactionTypeEnum.authOnlyTransaction.ToString(),\n                payment = paymentType,\n                amount = transactionAmount,\n            };\n            var request = new createTransactionRequest { transactionRequest = transactionRequest };\n            var controller = new createTransactionController(request);\n            controller.Execute();\n            var response = controller.GetApiResponse();\n\n            //Get transaction details\n            var getDetailsReq = new getTransactionDetailsRequest\n            {\n                transId = response.transactionResponse.transId\n            };\n            var getDetailsCont = new getTransactionDetailsController(getDetailsReq);\n            getDetailsCont.Execute();\n            var getDetailsResp = getDetailsCont.GetApiResponse();\n\n\n            //Build and execute the capture request.\n            var capECheck = new bankAccountType\n            {\n                accountNumber = ((AuthorizeNet.Api.Contracts.V1.bankAccountMaskedType)(getDetailsResp.transaction.payment.Item)).accountNumber.TrimStart(new char[] { 'X' }),\n                routingNumber = \"XXXX\",\n                nameOnAccount = ((AuthorizeNet.Api.Contracts.V1.bankAccountMaskedType)(getDetailsResp.transaction.payment.Item)).nameOnAccount,\n                bankName = ((AuthorizeNet.Api.Contracts.V1.bankAccountMaskedType)(getDetailsResp.transaction.payment.Item)).bankName,\n                echeckType = ((AuthorizeNet.Api.Contracts.V1.bankAccountMaskedType)(getDetailsResp.transaction.payment.Item)).echeckType,\n            };\n\n            var capPayment = new paymentType { Item = capECheck };\n\n\n\n            var capTransactionRequest = new transactionRequestType\n            {\n                transactionType = transactionTypeEnum.priorAuthCaptureTransaction.ToString(),\n                refTransId = getDetailsResp.transaction.transId,\n            };\n\n            request = new createTransactionRequest { transactionRequest = capTransactionRequest };\n            controller = new createTransactionController(request);\n            controller.Execute();\n            var capResponse = controller.GetApiResponse();\n\n            //validate\n            Assert.AreEqual(\"1\", capResponse.transactionResponse.messages[0].code);\n        }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/Test/APIInvalidCredentials.cs",
    "content": "﻿namespace AuthorizeNet.Api.Controllers.Test\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using NUnit.Framework;\r\n    using AuthorizeNet.Api.Contracts.V1;\r\n    using AuthorizeNet.Api.Controllers;\r\n    using AuthorizeNet.Api.Controllers.Bases;\r\n    using AuthorizeNet.Util;\r\n\r\n    [TestFixture]\r\n    public class CredentialsTest : ApiCoreTestBase\r\n    {\r\n\r\n        [TestFixtureSetUp]\r\n        public new static void SetUpBeforeClass()\r\n        {\r\n            ApiCoreTestBase.SetUpBeforeClass();\r\n        }\r\n\r\n        [TestFixtureTearDown]\r\n        public new static void TearDownAfterClass()\r\n        {\r\n            ApiCoreTestBase.TearDownAfterClass();\r\n        }\r\n\r\n        [SetUp]\r\n        public new void SetUp()\r\n        {\r\n            base.SetUp();\r\n        }\r\n\r\n        [TearDown]\r\n        public new void TearDown()\r\n        {\r\n            base.TearDown();\r\n        }\r\n\r\n        [Test]\r\n        public void InvalidCredentialsTest()\r\n        {\r\n            LogHelper.info(Logger, \"CreateProfileWithCreateTransactionRequestTest\");\r\n\r\n            var badCredentials = new merchantAuthenticationType { name = \"mbld_api_-NPA5n9k\", Item = \"123123\", ItemElementName = ItemChoiceType.transactionKey };\r\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = badCredentials;\r\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\r\n\r\n            //create request\r\n            var getCpReq = new getCustomerProfileRequest\r\n            {\r\n                customerProfileId = \"1234\"\r\n            };\r\n\r\n            var getCpCont = new getCustomerProfileController(getCpReq);\r\n            getCpCont.Execute();\r\n            getCustomerProfileResponse getCpResp = getCpCont.GetApiResponse();\r\n\r\n            Assert.AreEqual(\"E00007\", ((AuthorizeNet.Api.Contracts.V1.ANetApiResponse)(getCpResp)).messages.message[0].code);\r\n            ValidateErrorCode(((AuthorizeNet.Api.Contracts.V1.ANetApiResponse)(getCpResp)).messages, \"E00007\");\r\n        }\r\n\r\n        [Test]\r\n        [Ignore(\"Test is invalid now due to access token being wrong\")]\r\n        public void IllFormedCredentialsTest()\r\n        {\r\n            LogHelper.info(Logger, \"CreateProfileWithCreateTransactionRequestTest\");\r\n\r\n            var badCredentials = new merchantAuthenticationType { name = \"mbld_api_-NPA5n9k\", Item = \"123123\" }; //, ItemElementName = ItemChoiceType.transactionKey };\r\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = badCredentials;\r\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\r\n\r\n            //create request\r\n            var getCpReq = new getCustomerProfileRequest\r\n            {\r\n                customerProfileId = \"1234\"\r\n            };\r\n\r\n            try\r\n            {\r\n                var getCpCont = new getCustomerProfileController(getCpReq);\r\n                getCpCont.Execute();\r\n                Assert.Fail(\"You should not reach here\");\r\n            }\r\n            catch (Exception e)\r\n            {\r\n                Console.WriteLine(\"An exception expected: \" + e.Message);\r\n            }\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/Test/AllGeneratedEnumTest.cs",
    "content": "namespace AuthorizeNet.Api.Controllers.Test\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using NUnit.Framework;\n\n    [TestFixture]\n    public class AllGeneratedEnumTest : ApiCoreTestBase\n    {\n\n        [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n            ApiCoreTestBase.SetUpBeforeClass();\n        }\n\n        [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n            ApiCoreTestBase.TearDownAfterClass();\n        }\n\n        [SetUp]\n        public new void SetUp()\n        {\n            base.SetUp();\n        }\n\n        [TearDown]\n        public new void TearDown()\n        {\n            base.TearDown();\n        }\n\n        //Generated by cs-enum-test on Tue 11/04/2014-11:49:24.42 \n        [Test]\n        public void AllEnumTest()\n        {\n\n            foreach (var anEnum in Enum.GetValues(typeof(messageTypeEnum)))\n            {\n                var aValue = anEnum.ToString();\n                messageTypeEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(bankAccountTypeEnum)))\n            {\n                var aValue = anEnum.ToString();\n                bankAccountTypeEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(echeckTypeEnum)))\n            {\n                var aValue = anEnum.ToString();\n                echeckTypeEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(ARBSubscriptionStatusEnum)))\n            {\n                var aValue = anEnum.ToString();\n                ARBSubscriptionStatusEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(paymentMethodEnum)))\n            {\n                var aValue = anEnum.ToString();\n                paymentMethodEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(ARBGetSubscriptionListOrderFieldEnum)))\n            {\n                var aValue = anEnum.ToString();\n                ARBGetSubscriptionListOrderFieldEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(TransactionListOrderFieldEnum)))\n            {\n                var aValue = anEnum.ToString();\n                TransactionListOrderFieldEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(deviceActivationEnum)))\n            {\n                var aValue = anEnum.ToString();\n                deviceActivationEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(afdsTransactionEnum)))\n            {\n                var aValue = anEnum.ToString();\n                afdsTransactionEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(messageTypeEnum)))\n            {\n                var aValue = anEnum.ToString();\n                messageTypeEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(customerTypeEnum)))\n            {\n                var aValue = anEnum.ToString();\n                customerTypeEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(merchantInitTransReasonEnum)))\n            {\n                var aValue = anEnum.ToString();\n                merchantInitTransReasonEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(authIndicatorEnum)))\n            {\n                var aValue = anEnum.ToString();\n                authIndicatorEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(EncodingType)))\n            {\n                var aValue = anEnum.ToString();\n                EncodingType enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(EncryptionAlgorithmType)))\n            {\n                var aValue = anEnum.ToString();\n                EncryptionAlgorithmType enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(OperationType)))\n            {\n                var aValue = anEnum.ToString();\n                OperationType enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(ItemChoiceType1)))\n            {\n                var aValue = anEnum.ToString();\n                ItemChoiceType1 enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(customerProfileTypeEnum)))\n            {\n                var aValue = anEnum.ToString();\n                customerProfileTypeEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(ARBSubscriptionUnitEnum)))\n            {\n                var aValue = anEnum.ToString();\n                ARBSubscriptionUnitEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(webCheckOutTypeEnum)))\n            {\n                var aValue = anEnum.ToString();\n                webCheckOutTypeEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\t\t\t\t\t\t\t\t\t\t\t\t\t\t   \n            foreach (var anEnum in Enum.GetValues(typeof(ItemChoiceType)))\n            {\n                var aValue = anEnum.ToString();\n                ItemChoiceType enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(validationModeEnum)))\n            {\n                var aValue = anEnum.ToString();\n                validationModeEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(splitTenderStatusEnum)))\n            {\n                var aValue = anEnum.ToString();\n                splitTenderStatusEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(TransactionGroupStatusEnum)))\n            {\n                var aValue = anEnum.ToString();\n                TransactionGroupStatusEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(ARBGetSubscriptionListSearchTypeEnum)))\n            {\n                var aValue = anEnum.ToString();\n                ARBGetSubscriptionListSearchTypeEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(accountTypeEnum)))\n            {\n                var aValue = anEnum.ToString();\n                accountTypeEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(cardTypeEnum)))\n            {\n                var aValue = anEnum.ToString();\n                cardTypeEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(FDSFilterActionEnum)))\n            {\n                var aValue = anEnum.ToString();\n                FDSFilterActionEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(permissionsEnum)))\n            {\n                var aValue = anEnum.ToString();\n                permissionsEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(settingNameEnum)))\n            {\n                var aValue = anEnum.ToString();\n                settingNameEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(settlementStateEnum)))\n            {\n                var aValue = anEnum.ToString();\n                settlementStateEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(transactionStatusEnum)))\n            {\n                var aValue = anEnum.ToString();\n                transactionStatusEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(transactionTypeEnum)))\n            {\n                var aValue = anEnum.ToString();\n                transactionTypeEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(CustomerPaymentProfileSearchTypeEnum)))\n            {\n                var aValue = anEnum.ToString();\n                CustomerPaymentProfileSearchTypeEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(CustomerPaymentProfileOrderFieldEnum)))\n            {\n                var aValue = anEnum.ToString();\n                CustomerPaymentProfileOrderFieldEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(AUJobTypeEnum)))\n            {\n                var aValue = anEnum.ToString();\n                AUJobTypeEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\n            foreach (var anEnum in Enum.GetValues(typeof(paymentMethodsTypeEnum)))\n            {\n                var aValue = anEnum.ToString();\n                paymentMethodsTypeEnum enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n        }\n\n        /*\n        private <T extends enum > void XX<T>()\n        {\n            for ( T anEnum : T.values())\n            {\n                String unitValue = anEnum.value();\n                T unitEnum = T.fromValue(unitValue);\n                Assert.assertEquals(anEnum, unitEnum);\n            }\n        }\n        */\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/Test/ApiCoreTestBase.cs",
    "content": "using AuthorizeNet.Utility;\n\nnamespace AuthorizeNet.Api.Controllers.Test\n{\n    using System;\n    using System.Collections;\n    using System.Collections.Generic;\n    using System.ComponentModel;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers.Bases;\n    using AuthorizeNet.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n    using NMock;\n\n    // ReSharper disable FieldCanBeMadeReadOnly.Local\n    // ReSharper disable NotAccessedField.Local\n#pragma warning disable 169\n#pragma warning disable 649\n    [TestFixture]\n    public abstract class ApiCoreTestBase {\n\n\t    protected static readonly Log Logger = LogFactory.getLog(typeof(ApiCoreTestBase));\n\t\n\t    protected static readonly IDictionary<String, String> ErrorMessages ;\n\n        protected static AuthorizeNet.Environment TestEnvironment = AuthorizeNet.Environment.SANDBOX;\n        //protected static AuthorizeNet.Environment TestEnvironment = AuthorizeNet.Environment.HOSTED_VM;\n        \n\t    static readonly String ApiLoginIdKey ;\n\t    static readonly String TransactionKey ;\n\t    static String _md5HashKey ;\n\t\n\t    DateTime _pastDate;\n\t    DateTime _nowDate;\n\t    DateTime _futureDate;\n\t    String _nowString ;\n\t    DateTime _now = DateTime.UtcNow;\n\n\t    protected string RefId ;\n\t    protected int Counter;\n        protected String CounterStr;\n\n        protected merchantAuthenticationType CustomMerchantAuthenticationType;\n\n        protected ARBSubscriptionType ArbSubscriptionOne;\n\n        //protected ARBSubscriptionType ArbSubscriptionTwo;\n        protected bankAccountType BankAccountOne;\n        protected creditCardTrackType TrackDataOne;\n        protected creditCardType CreditCardOne;\n        protected customerAddressType CustomerAddressOne;\n        protected customerDataType CustomerDataOne;\n        protected customerPaymentProfileType CustomerPaymentProfileOne;\n        protected customerProfileType CustomerProfileType;\n        protected customerType CustomerOne;\n        protected customerType CustomerTwo;\n        protected driversLicenseType DriversLicenseOne; \n        protected encryptedTrackDataType EncryptedTrackDataOne;\n        protected nameAndAddressType NameAndAddressTypeOne;\n        protected nameAndAddressType NameAndAddressTypeTwo;\n        protected orderType OrderType;\n        protected paymentScheduleType PaymentScheduleTypeOne;\n        protected paymentType PaymentOne;\n        protected payPalType PayPalOne;\n\n        protected MockFactory MockContext = null;\n        private readonly AnetRandom _random = new AnetRandom();\n\t    static ApiCoreTestBase() {\n\n            //now we support Tls only, and .net defaults to TLS\n            //System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls | System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls12;\n\n            var config = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.None);\n            Logger.error(String.Format(\"Configuration file used: {0}, Exists:{1}\", config.FilePath, config.HasFile));\n\n\t\t    //getPropertyFromNames get the value from properties file or environment\n\t\t    ApiLoginIdKey = UnitTestData.GetPropertyFromNames(AuthorizeNet.Util.Constants.EnvApiLoginid, AuthorizeNet.Util.Constants.PropApiLoginid);\n\t\t    TransactionKey = UnitTestData.GetPropertyFromNames(AuthorizeNet.Util.Constants.EnvTransactionKey, AuthorizeNet.Util.Constants.PropTransactionKey);\n\t\t    _md5HashKey = UnitTestData.GetPropertyFromNames(AuthorizeNet.Util.Constants.EnvMd5Hashkey, AuthorizeNet.Util.Constants.PropMd5Hashkey);\n\n            //require only one cnp or cp merchant keys\n            if (null != ApiLoginIdKey && null != TransactionKey)\n            {\n                Logger.debug(\"Merchant Login and transaction keys are present.\");\n            }\n            else\n\t\t    {\n\t\t\t    throw new ArgumentException(\n                    \"LoginId and/or TransactionKey have not been set. Merchant keys are required.\");\n\t\t    }\n\n\t        ErrorMessages = new Dictionary<string, string>();\n\t    }\n\n\t    [TestFixtureSetUp]\n        public static void SetUpBeforeClass()//TestContext context)\n        {\n            ErrorMessages.Clear();\n\t\t    ErrorMessages.Add(\"E00003\", \"\");   //The message is dynamic based on the xsd violation.\n            ErrorMessages.Add(\"E00007\", \"User authentication failed due to invalid authentication values.\");\n\t\t    ErrorMessages.Add(\"E00027\", \"\");\n\t\t    ErrorMessages.Add(\"E00040\", \"\");\n\t\t    ErrorMessages.Add(\"E00090\", \"PaymentProfile cannot be sent with payment data.\" );\n\t\t    ErrorMessages.Add(\"E00091\", \"PaymentProfileId cannot be sent with payment data.\");\t\t\n\t\t    ErrorMessages.Add(\"E00092\", \"ShippingProfileId cannot be sent with ShipTo data.\");\t\t\n\t\t    ErrorMessages.Add(\"E00093\", \"PaymentProfile cannot be sent with billing data.\");\t\t\n\t\t    ErrorMessages.Add(\"E00095\", \"ShippingProfileId is not provided within Customer Profile.\");\n        }\n\n\t    [TestFixtureTearDown]\n        public static void TearDownAfterClass()\n        {\n\t    }\n\n        public static String DateFormat = \"yyyy-MM-dd'T'HH:mm:ss\";\n\n        [SetUp]\n        public void SetUp()\n        {\n            MockContext = new MockFactory();\n\n            //initialize counter\n            Counter = _random.Next(1, (int) (Math.Pow(2, 24)));\n            CounterStr = GetRandomString(\"\");\n\n            _now = DateTime.UtcNow;\n            _nowString = _now.ToString(DateFormat);\n\n            _pastDate = _now.AddMonths(-1);\n            _nowDate = _now;\n            _futureDate = _now.AddMonths(1);\n\n            CustomMerchantAuthenticationType = new merchantAuthenticationType\n                {\n                    name = ApiLoginIdKey,\n                    ItemElementName = ItemChoiceType.transactionKey,\n                    Item = TransactionKey,\n                };\n\n            //\t\tmerchantAuthenticationType.setSessionToken(GetRandomString(\"SessionToken\"));\n            //\t\tmerchantAuthenticationType.setPass_word(GetRandomString(\"Pass_word\"));\n            //\t    merchantAuthenticationType.setMobileDeviceId(GetRandomString(\"MobileDevice\"));\n\n            //\t    ImpersonationAuthenticationType impersonationAuthenticationType = new ImpersonationAuthenticationType();\n            //\t    impersonationAuthenticationType.setPartnerLoginId(CnpApiLoginIdKey);\n            //\t    impersonationAuthenticationType.setPartnerTransactionKey(CnpTransactionKey);\n            //\t    merchantAuthenticationType.setImpersonationAuthentication(impersonationAuthenticationType);\n\n            CustomerProfileType = new customerProfileType\n                {\n                    merchantCustomerId = GetRandomString(\"Customer\"),\n                    description = GetRandomString(\"CustomerDescription\"),\n                    email = CounterStr + \".customerProfileType@test.anet.net\",\n                };\n\n            //make sure these elements are initialized by calling get as it uses lazy initialization\n            var paymentProfiles = CustomerProfileType.paymentProfiles;\n            var addresses = CustomerProfileType.shipToList;\n\n            CreditCardOne = new creditCardType\n                {\n                    cardNumber = \"4111111111111111\",\n                    expirationDate = \"2045-12\",\n                };\n            //\t\tcreditCardOne.setCardCode(\"\");\n\n            BankAccountOne = new bankAccountType\n                {\n                    accountType = bankAccountTypeEnum.savings,\n                    routingNumber = \"125000000\",\n                    accountNumber = GetRandomString(\"A/C#\"),\n                    nameOnAccount = GetRandomString(\"A/CName\"),\n                    echeckType = echeckTypeEnum.WEB,\n                    bankName = GetRandomString(\"Bank\"),\n                    checkNumber = CounterStr,\n                };\n\n            TrackDataOne = new creditCardTrackType\n                {\n                    ItemElementName = ItemChoiceType1.track1,\n                    Item = GetRandomString(\"Track1\"),\n                    //trackDataOne.setTrack2(GetRandomString(\"Track2\"));\n                };\n\n            EncryptedTrackDataOne = new encryptedTrackDataType\n                {\n                    FormOfPayment = new KeyBlock(),\n                };\n            //keyBlock.setValue(value);\n\n            PayPalOne = new payPalType\n                {\n                    successUrl = GetRandomString(\"https://success.anet.net\"),\n                    cancelUrl = GetRandomString(\"https://cancel.anet.net\"),\n                    paypalLc = GetRandomString(\"Lc\"),\n                    paypalHdrImg = GetRandomString(\"Hdr\"),\n                    paypalPayflowcolor = GetRandomString(\"flowClr\"),\n                    payerID = GetRandomString(\"PayerId\"),\n                };\n\n            PaymentOne = new paymentType\n                {\n                    Item = CreditCardOne\n                };\n            //paymentOne.setBankAccount(bankAccountOne);\n            //paymentOne.setTrackData(trackDataOne);\n            //paymentOne.setEncryptedTrackData(encryptedTrackDataOne);\n            //paymentOne.setPayPal( payPalOne);\n\n            //\t\tdriversLicenseOne = new DriversLicenseType();\n            //\t\tdriversLicenseOne.setNumber(GetRandomString(\"DLNumber\"));\n            //\t\tdriversLicenseOne.setState(GetRandomString(\"WA\"));\n            //\t\tdriversLicenseOne.setDateOfBirth(nowString);\n\n            CustomerAddressOne = new customerAddressType\n                {\n                    firstName = GetRandomString(\"FName\"),\n                    lastName = GetRandomString(\"LName\"),\n                    company = GetRandomString(\"Company\"),\n                    address = GetRandomString(\"StreetAdd\"),\n                    city = \"Bellevue\",\n                    state = \"WA\",\n                    zip = \"98000\",\n                    country = \"USA\",\n                    phoneNumber = FormatToPhone(Counter),\n                    faxNumber = FormatToPhone(Counter + 1),\n                };\n\n            CustomerPaymentProfileOne = new customerPaymentProfileType\n                {\n                    customerType = customerTypeEnum.individual,\n                    payment = PaymentOne,\n                };\n            //\t    customerPaymentProfileOne.setBillTo(customerAddressOne);\n            //\t    customerPaymentProfileOne.setDriversLicense(driversLicenseOne);\n            //\t    customerPaymentProfileOne.setTaxId(GetRandomString(\"XX\"));\n\n\n            CustomerOne = new customerType\n                {\n                    type = customerTypeEnum.individual,\n                    id = GetRandomString(\"Id\"),\n                    email = CounterStr + \".customerOne@test.anet.net\",\n                    phoneNumber = FormatToPhone(Counter),\n                    faxNumber = FormatToPhone(Counter + 1),\n                    driversLicense = DriversLicenseOne,\n                    taxId = \"911011011\",\n                };\n\n            CustomerTwo = new customerType();\n\n            var interval = new paymentScheduleTypeInterval\n                {\n                    length = 1,\n                    unit = ARBSubscriptionUnitEnum.months,\n                };\n\n            OrderType = new orderType()\n                {\n                    //TODO ADD VALIDATION ON INVOICE LENGTH\n                    invoiceNumber = GetRandomString(\"Inv:\"),\n                    description = GetRandomString(\"Description\"),\n                };\n\n            NameAndAddressTypeOne = new nameAndAddressType\n                {\n                    firstName = GetRandomString(\"FName\"),\n                    lastName = GetRandomString(\"LName\"),\n                    company = GetRandomString(\"Company\"),\n                    address = GetRandomString(\"Address\"),\n                    city = GetRandomString(\"City\"),\n                    state = GetRandomString(\"State\"),\n                    zip = \"98004\",\n                    country = \"USA\",\n                };\n\n            NameAndAddressTypeTwo = new nameAndAddressType\n                {\n                    firstName = GetRandomString(\"FName\"),\n                    lastName = GetRandomString(\"LName\"),\n                    company = GetRandomString(\"Company\"),\n                    address = GetRandomString(\"Address\"),\n                    city = GetRandomString(\"City\"),\n                    state = GetRandomString(\"State\"),\n                    zip = \"98004\",\n                    country = \"USA\",\n                };\n\n            PaymentScheduleTypeOne = new paymentScheduleType\n                {\n                    interval = interval,\n                    startDate = _nowDate,\n                    totalOccurrences = 5,\n                    trialOccurrences = 0, \n                };\n\n            ArbSubscriptionOne = new ARBSubscriptionType\n                {\n                    amount = SetValidSubscriptionAmount(Counter),\n                    billTo = NameAndAddressTypeOne,\n                    customer = CustomerOne,\n                    name = GetRandomString(\"Name\"),\n                    order = OrderType,\n                    payment = PaymentOne,\n                    paymentSchedule = PaymentScheduleTypeOne,\n                    shipTo = NameAndAddressTypeOne,\n                    trialAmount= SetValidSubscriptionAmount(0),\n                };\n\n            CustomerDataOne = new customerDataType\n                {\n                    driversLicense = CustomerOne.driversLicense,\n                    email = CustomerOne.email,\n                    id = CustomerOne.id,\n                    taxId = CustomerOne.taxId,\n                    type = CustomerOne.type,\n                };\n\t\t\n\t        RefId = CounterStr;\n\t    }\n\n\t    [TearDown]\n\t    public void TearDown() {\n            MockContext.VerifyAllExpectationsHaveBeenMet();\n\t    }\n\n        string GetRandomString(string title) {\n\t\t    return String.Format(\"{0}{1}\", title, Counter);\n\t    }\n\t\n\t    public String FormatToPhone(int number) {\n\t\t    var formattedNumber = string.Format( \"{0:0000000000}\", number);\n\t\t    return \tformattedNumber.Substring(0, 3)+\"-\"+\n\t\t\t\t    formattedNumber.Substring(3, 3)+\"-\"+\n\t\t\t\t    formattedNumber.Substring(6, 4);\n\t    }\n\n        public decimal SetValidTaxAmount(decimal amount)\n        {\n            return (amount * TaxRate);\n\t    }\n\n        public decimal SetValidTransactionAmount(int number)\n        {\n            //updated to return a value with dollars and cents and not just whole dollars.\n\t\t    return (Decimal)setValidAmount(number, MaxTransactionAmount/100);\n\t    }\n\n        public decimal SetValidSubscriptionAmount(int number)\n        {\n\t\t    return setValidAmount(number, MaxSubscriptionAmount);\n\t    }\n\t\n\t    private decimal setValidAmount(int number, int maxAmount)\n        {\n            //Test that result is not larger than the specified max value\n            number = (number > maxAmount) ? (number % maxAmount) : number;\n\n            Decimal dollarsAndCents = (decimal)number / 100;\n\n            //Test that result is not less than the global Min Value\n            return dollarsAndCents = (dollarsAndCents < MinAmount) ? (MinAmount + dollarsAndCents) : dollarsAndCents;\n\t    }\n\n\t    static ANetApiResponse _errorResponse;\n\n\t    protected ANetApiResponse GetErrorResponse() {\n\t\t    return _errorResponse;\n\t    }\n\n        private const int MaxSubscriptionAmount = 1000; //214747;\n        private const int MaxTransactionAmount = 10000; //214747;\n        private const int MinAmount = 1;\n        private const decimal TaxRate = 0.10m;\n\n        protected static TS ExecuteTestRequestWithSuccess<TQ, TS, TT>(TQ request, AuthorizeNet.Environment execEnvironment = null)\n            where TQ : ANetApiRequest\n            where TS : ANetApiResponse\n            where TT : ApiOperationBase<TQ, TS> \n        {\n            TS response = ExecuteTestRequest<TQ, TS, TT>( true, request, execEnvironment);\n\t\t\n\t\t    return response;\n\t    }\n\n        protected static TS ExecuteTestRequestWithFailure<TQ, TS, TT>(TQ request, AuthorizeNet.Environment execEnvironment = null)\n            where TQ : ANetApiRequest\n            where TS : ANetApiResponse\n            where TT : ApiOperationBase<TQ, TS> \n        {\n            TS response = ExecuteTestRequest<TQ, TS, TT>(false, request, execEnvironment);\n\t\t\n\t\t    return response;\n\t    }\n\n        private static TS ExecuteTestRequest<TQ, TS, TT>(bool successExpected, TQ request, AuthorizeNet.Environment execEnvironment = null) \n            where TQ : ANetApiRequest\n            where TS : ANetApiResponse\n            where TT : ApiOperationBase<TQ, TS> \n        {\n\n\t\t    LogHelper.debug( Logger, \"Created {0} Request: '{1}'\", request.GetType(), request);\n\t\t\n\t\t    TS response = null;\n\t\t    TT controller = null;\n\t\t    _errorResponse = null;\t\t\n\t\t    var controllerClass = typeof (TT);\n\t\t    try {\n                var parameters = new object[] {request} ;\n                var controllerObject = Activator.CreateInstance(controllerClass, parameters);\n                if ( controllerObject is TT)\n\t\t        {\n\t\t            controller = (TT) controllerObject;\n\t\t        }\n\t\t        if (null != controller)\n\t\t        {\n\t\t            ANetApiResponse baseResponse = controller.ExecuteWithApiResponse(execEnvironment);\n\t\t            LogHelper.info(Logger, \"{0} ResultCode: {1}\", controllerClass, controller.GetResultCode());\n\t\t            LogHelper.info(Logger, \"{0} Results:    {1}\", controllerClass, controller.GetResults());\n\t\t            response = (TS) baseResponse;\n\t\t        }\n\t\t        else\n\t\t        {\n                    LogHelper.error(Logger, \"Unable to instantiate Controller: '{0}'\", controllerClass);\n\t\t        }\n\t\t    } catch (Exception e) {\n\t\t\t    LogHelper.error(Logger, \"Exception : '{0}' during {1}\", e.Message, controllerClass);\n\t\t    }\n\t\t    if ( successExpected)\n\t\t    {\n\t\t\t    ProcessFailureResult<TQ, TS, TT>( true, controller, response);\t\t\n\t\t\t    ValidateSuccess<TQ, TS, TT>( controller, response);\n\t\t    } else {\n\t\t\t    ValidateFailure<TQ, TS, TT>( controller, response);\n\t\t    }\n\t\t    if (null == response && null != controller && null != controller.GetErrorResponse())\n\t\t    {\n\t\t\t    _errorResponse = controller.GetErrorResponse();\n\t\t    }\n\t\t\n\t\t    return response;\n\t    }\n\n        protected static void ProcessFailureResult<TQ, TS, TT>(bool fail, TT controller, TS response) \n            where TQ : ANetApiRequest\n            where TS : ANetApiResponse\n            where TT : ApiOperationBase<TQ, TS> \n        {\n\t\t    //in case there are errors, log the error messages\n\t\t    if ( messageTypeEnum.Ok != controller.GetResultCode())\n\t\t    {\n\t\t\t    foreach ( var aMessage in controller.GetResults()) {\n\t\t\t\t    LogHelper.info(Logger, \"Controller Messages: '{0}' \", aMessage);\n\t\t\t    }\n\t\t\t    DisplayResponse(response, \"Failure Messsages\");\n\t\t\t    var errorResponse = controller.GetErrorResponse();\n\t\t\t    DisplayResponse(errorResponse, \"Error Response Messages\");\n\t\t\t    if ( fail)\n\t\t\t    {\n\t\t\t\t    Assert.Fail(\"Request failed.\");\n\t\t\t    }\n\t\t    }\n\t    }\n\n\t    protected static void ValidateSuccess<TQ, TS, TT>( TT controller, TS response)\n            where TQ : ANetApiRequest\n            where TS : ANetApiResponse\n            where TT : ApiOperationBase<TQ, TS> \n        {\n\t\t    Assert.AreEqual( messageTypeEnum.Ok, controller.GetResultCode());\n\t\t    Assert.IsNull(controller.GetErrorResponse());\n\t\t    Assert.IsNotNull(response);\n\t\t    DisplayResponse( response, \"Success Messages\");\n\t    }\n\n\t    protected static void ValidateFailure<TQ, TS, TT>( TT controller, TS response)\n            where TQ : ANetApiRequest\n            where TS : ANetApiResponse\n            where TT : ApiOperationBase<TQ, TS> \n        {\n\t\t    Assert.AreEqual( messageTypeEnum.Error, controller.GetResultCode());\n\t\t    //TODO Until error response is fixed\n\t\t    //Assert.assertNotNull(controller.getErrorResponse());\n\t\t    //Assert.assertNull(response);\n            ProcessFailureResult<TQ, TS, TT>(false, controller, response);\n\t    }\n\t\n\t    protected static void DisplayResponse(ANetApiResponse response, String source) {\n\t\t    LogHelper.info(Logger, \"Source '{0}' \", source);\n\t\t    if (null != response) {\n\t\t\t    var messageType = response.messages;\n\t\t\t    if ( null != messageType) {\n\t\t\t\t    LogHelper.info(Logger, \"MessageCode: '{0}' \", messageType.resultCode.ToString());\n\t\t\t\t    foreach ( var aMessage in messageType.message) {\n\t\t\t\t\t    LogHelper.info(Logger, \"Message: '{0}':'{1}' \", aMessage.code, aMessage.text);\n\t\t\t\t    }\n\t\t\t    }\n\t\t    }\n\t    }\n\n\t    protected void ValidateErrorCode(messagesType messagesType, string errorCode)\n\t    {\n\t\t    var firstError = GetFirstErrorMessage( messagesType);\n\t\t    if (null != firstError)\n\t\t    {\n\t\t\t    Assert.AreEqual( errorCode, firstError.code);\n\t\t\t    if ( ErrorMessages.ContainsKey(errorCode))\n\t\t\t    {\n\t\t\t\t    string message = ErrorMessages[errorCode];\n\t\t\t\t    if ( !(string.IsNullOrEmpty(message)))\n\t\t\t\t    {\n\t\t\t\t\t    Assert.AreEqual( message, firstError.text);\n\t\t\t\t    }\n\t\t\t    }\n\t\t    }\n\t    }\n\t\n\t    protected static string GetFirstErrorCode(messagesType messagesType)\n\t    {\n\t\t    var errorMessage = GetFirstErrorMessage( messagesType);\n\t\t    return ( (null != errorMessage) ? errorMessage.code : null); \n\t    }\n\n\t    protected static string GetFirstErrorText(messagesType messagesType)\n\t    {\n\t\t    var errorMessage = GetFirstErrorMessage( messagesType);\n\t\t    return ( (null != errorMessage) ? errorMessage.text : null); \n\t    }\n\t\n\t    protected static messagesTypeMessage GetFirstErrorMessage(messagesType messagesType)\n\t    {\n\t\t    messagesTypeMessage errorMessage = null;\n\t\t    if (  null != messagesType.message)\n\t\t    {\n\t\t\t    foreach( var aMessage in messagesType.message)\n\t\t\t    {\n\t\t\t\t    errorMessage = aMessage;\n\t\t\t\t    break;\n\t\t\t    }\n\t\t    }\n\t\t\n\t\t    return errorMessage;\n\t\t\n\t    }\n\n        protected void SetMockControllerExpectations<TQ, TS, TT> (\n\t\t\tIApiOperation<TQ, TS> mockController,\n\t\t\tTQ mockRequest,\n\t\t\tTS mockResponse,\n\t\t\tANetApiResponse errorResponse, \n\t\t\tList<String> results,\n            messageTypeEnum messageType)\n            where TQ : ANetApiRequest\n            where TS : ANetApiResponse\n            where TT : IApiOperation<TQ, TS>\n        {\n\t\t    var mockEnvironment = AuthorizeNet.Environment.CUSTOM;\n\n            //using (MockContext.Unordered())\n            {\n                //Expect.On(mockController).Any.Method(i => i.Execute(mockEnvironment));\n                Expect.On(mockController).Any.Method(i => i.Execute(mockEnvironment)).With(mockEnvironment);\n                Expect.On(mockController).Any.Method(i => i.GetApiResponse()).WillReturn(mockResponse);\n                //Expect.On(mockController).Between(0, 10).Method(i => i.ExecuteWithApiResponse(mockEnvironment)).WillReturn(mockResponse);\n                Expect.On(mockController).Any.Method(i => i.ExecuteWithApiResponse(mockEnvironment)).With(mockEnvironment).WillReturn(mockResponse);\n                Expect.On(mockController).Any.Method(i => i.GetResults()).WillReturn(results);\n                Expect.On(mockController).Any.Method(i => i.GetResultCode()).WillReturn(messageType);\n                Expect.On(mockController).Any.Method(i => i.GetErrorResponse()).WillReturn(errorResponse);\n            }\n\n            if (null != mockRequest && null != mockResponse)\n            {\n                mockResponse.refId = mockRequest.refId;\n            }\n            var realController = Activator.CreateInstance(typeof(TT), mockRequest);\n            Assert.IsNotNull(realController);\n\n\t\t    LogHelper.info(Logger, \"Request: {0}\", mockRequest);\n\t\t    ShowProperties(mockRequest);\n\t\t    LogHelper.info(Logger, \"Response: {0}\", mockResponse);\n\t\t    ShowProperties(mockResponse);\n\t    }\n\n\t    protected Mock<IApiOperation<TQ,TS>> GetMockController<TQ, TS>()  where TQ : ANetApiRequest where TS : ANetApiResponse\n\t    {\n            return MockContext.CreateMock<IApiOperation<TQ, TS>>();\n\t    }\n\n\t    public static void ShowProperties(Object bean) {  \n\t\t    if ( null == bean) { return; }\n\n\t\t    try\n\t\t    {\n                var fieldInfos = bean.GetType().GetFields();//BindingFlags.GetProperty);\n                foreach (var pd in fieldInfos)\n\t\t        {\n\t\t            var name = pd.Name;\n\t\t            var type = pd.FieldType;\n \n\t\t            if (!(\"class\".Equals(name)) &&\n                        !(bean.ToString().Equals(name)))\n\t\t            {\n\t\t                try\n\t\t                {\n                            var value = pd.GetValue(bean);\n                            //var value = bean.GetType().GetField(name).GetValue(bean);\n                            LogHelper.info(Logger, \"Field Type: '{0}', Name:'{1}', Value:'{2}'\", type, name, value);\n                            ProcessCollections(type, name, value);\n                            //process compositions of custom classes\n                            //if (null != value && 0 <= type.ToString().IndexOf(\"AuthorizeNet.\", System.StringComparison.Ordinal))\n\n\t\t                    var whiteListAssembly = (type.Assembly.FullName.IndexOf(\"AuthorizeNET\", StringComparison.Ordinal) >= 0 );\n\n                            if (null != value &&\n                                whiteListAssembly &&\n                                !(value is Enum) &&\n                                !value.GetType().IsPrimitive &&\n                                !(value is string))\n                            {\n                                ShowProperties(value);\n                            }\n\n                            var propertyChanged = bean as INotifyPropertyChanged;\n                            if (propertyChanged != null)\n                            {\n                                var changed = false;\n                                propertyChanged.PropertyChanged += (s, e) => { if (e.PropertyName == name) changed = true; };\n                            }\n\t\t                } catch (Exception e) {\n                            LogHelper.info(Logger, \"Exception during getting Field value: Type: '{0}', Name:'{1}', Message: {2}, StackTrace: {3}\", type, name, e.Message, e.StackTrace);\n\t\t                }\n\t\t            }\n\t\t        }\n            }\n            catch (Exception e)\n            {\n\t\t\t    LogHelper.info(Logger, \"Exception during navigating properties: Message: {0}, StackTrace: {1}\", e.Message, e.StackTrace);\n\t\t    }  \n\t    }\n\n        public static void ProcessCollections( Type type, String name, Object value)\n        {\n            if (null == type) return;\n            var values = value as IEnumerable;\n            if (values != null &&\n                !(value is string))\n            {\n                LogHelper.info(Logger, \"Iterating on Collection: '{0}'\", name);\n                foreach (var aValue in values)\n                {\n                    ShowProperties(aValue);\n                }\n            }\n        }\n\n    }\n#pragma warning restore 649\n#pragma warning restore 169\n// ReSharper restore NotAccessedField.Local\n// ReSharper restore FieldCanBeMadeReadOnly.Local\n}"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/Test/ArbSubscriptionTest.cs",
    "content": "using AuthorizeNet.Utility;\n\nnamespace AuthorizeNet.Api.Controllers.Test\n{\n    using System;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Bases;\n    using AuthorizeNet.Api.Controllers.Test;\n    using AuthorizeNet.Util;\n    using NUnit.Framework;\n    using System.Linq;\n\n    [TestFixture]\n    public class ArbSubscriptionTest : ApiCoreTestBase {\n\n\t    [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n\t\t    ApiCoreTestBase.SetUpBeforeClass();\n\t    }\n\n\t    [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n\t\t    ApiCoreTestBase.TearDownAfterClass();\n\t    }\n\n\t    [SetUp]\n\t    public new void SetUp() {\n\t\t    base.SetUp();\n\t    }\n\n\t    [TearDown]\n\t    public new void TearDown() {\n\t\t    base.TearDown();\n\t    }\n\n        [Test]\n        public void TestGetSubscriptionList()\n        {\n            //create a transaction\n            var transactionRequestType = new transactionRequestType\n            {\n                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),\n                amount = SetValidTransactionAmount(Counter),\n                payment = PaymentOne,\n                order = OrderType,\n                customer = CustomerDataOne,\n                billTo = CustomerAddressOne,\n\n            };\n            var createRequest = new createTransactionRequest\n            {\n                refId = RefId,\n                transactionRequest = transactionRequestType,\n                merchantAuthentication = CustomMerchantAuthenticationType,\n            };\n\n            var createResponse = ExecuteTestRequestWithSuccess<createTransactionRequest, createTransactionResponse, createTransactionController >(createRequest, TestEnvironment);\n\n            var referenceTxnId = createResponse.transactionResponse.transId;\n\n\t\t    var subscriptionId = CreateSubscription( CustomMerchantAuthenticationType, referenceTxnId);\n\t\t    var newStatus = GetSubscription( CustomMerchantAuthenticationType, subscriptionId);\n\t\t    Assert.AreEqual(ARBSubscriptionStatusEnum.active, newStatus);\n\n\t\t    LogHelper.info(Logger, \"Getting Subscription List for SubscriptionId: {0}\", subscriptionId);\n            \n\t        int subsId;\n\t        var found = false;\n            Int32.TryParse(subscriptionId, out subsId);\n\n            //setup retry loop to allow for delays in replication\n            for (int counter = 0; counter < 5; counter++)\n            {\n                var listRequest = SetupSubscriptionListRequest(CustomMerchantAuthenticationType);\n                var listResponse = ExecuteTestRequestWithSuccess<ARBGetSubscriptionListRequest, ARBGetSubscriptionListResponse, ARBGetSubscriptionListController>(listRequest, TestEnvironment);\n\n                if (listResponse.subscriptionDetails.Any<SubscriptionDetail>(a => a.id == subsId))\n                {\n                    found = true;\n                    break;\n                }\n                else\n                {\n                    System.Threading.Thread.Sleep(10000);\n                }\n            }\n\n            Assert.IsTrue(found);\n\t\t    CancelSubscription(CustomMerchantAuthenticationType, subscriptionId);\n            \n\t\t    //validate the status of subscription to make sure it is canceled\n\t\t    var cancelStatus = GetSubscription(CustomMerchantAuthenticationType, subscriptionId);\n\t\t    Assert.AreEqual(ARBSubscriptionStatusEnum.canceled, cancelStatus);\n\t    }\n\n\t    [Test]\n\t    public void TestSubscription() {\n            var rnd = new AnetRandom(DateTime.Now.Millisecond);\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //create a subscription\n            var subscriptionDef = new ARBSubscriptionType\n            {\n                paymentSchedule = new paymentScheduleType\n                {\n                    interval = new paymentScheduleTypeInterval\n                    {\n                        length = 1,\n                        unit = ARBSubscriptionUnitEnum.months,\n                    },\n                    startDate = DateTime.UtcNow,\n                    totalOccurrences = 12,\n                },\n\n\n                amount = 9.99M,\n                billTo = new nameAndAddressType{ firstName = \"first\", lastName = \"last\", address=\"123 elm st ne\", city = \"Bellevue\", state = \"Wa\", zip = \"98007\"},\n\n                payment = PaymentOne,\n\n                customer = CustomerOne,\n\n                order = new orderType { description = string.Format(\"member monthly {0}\", rnd.Next(99999)) },\n            };\n\n            var arbRequest = new ARBCreateSubscriptionRequest { subscription = subscriptionDef };\n            var arbController = new ARBCreateSubscriptionController(arbRequest);\n            arbController.Execute();\n\n            var arbCreateResponse = arbController.GetApiResponse();\n\n            Assert.AreEqual(messageTypeEnum.Ok,arbController.GetResultCode());\n\n\t    }\n\n        [Test]\n        public void TestSubscription_ExpiredCC()\n        {\n            var rnd = new AnetRandom(DateTime.Now.Millisecond);\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n            //create a subscription\n            var subscriptionDef = new ARBSubscriptionType\n            {\n\n\n                paymentSchedule = new paymentScheduleType\n                {\n                    interval = new paymentScheduleTypeInterval\n                    {\n                        length = 7,\n                        unit = ARBSubscriptionUnitEnum.days\n                    },\n                    startDate = DateTime.UtcNow,\n                    totalOccurrences = 2,\n                },\n\n\n                amount = 9.99M,\n\n                billTo = new nameAndAddressType\n                {\n                    address = \"1234 Elm St NE\",\n                    city = \"Bellevue\",\n                    state = \"WA\",\n                    zip = \"98007\",\n                    firstName = \"First\",\n                    lastName = \"Last\"\n                },\n\n                payment = new paymentType\n                {\n                    Item = new creditCardType\n                                 {\n                                     cardCode = \"655\",\n                                     //cardNumber = \"4007000\",\n                                     cardNumber = \"4111111111111111\",\n                                     expirationDate = \"122013\",\n                                 }\n                },\n\n                customer = new customerType { email = \"somecustomer@test.org\", id = \"5\", },\n\n                order = new orderType { description = string.Format(\"member monthly {0}\", rnd.Next(99999)) },\n            };\n\n            var arbRequest = new ARBCreateSubscriptionRequest { subscription = subscriptionDef };\n            var arbController = new ARBCreateSubscriptionController(arbRequest);\n            arbController.Execute();\n\n            var arbCreateResponse = arbController.GetApiResponse();\n\n            //If request responds with an error, walk the messages and get code and text for each message.\n            if (arbController.GetResultCode() == messageTypeEnum.Error)\n            {\n                foreach(var msg in arbCreateResponse.messages.message)\n                {\n                    Console.WriteLine(\"Error Num = {0}, Message = {1}\", msg.code, msg.text);\n                }\n            }\n\n        }\n\n        /// <summary>\n        /// Repro issue ARBSubscriptionList SearchType of \"cardExpiringThisMonth\" doesn't work\n        /// commenting the test attribute because issue is fixed.\n        /// @Zalak\n        /// </summary>\n       // [Test]\n        [ExpectedException(typeof(ArgumentException), ExpectedMessage = \"SearchType cannot be null\")]\n        public void GetSubscriptionSearchCardExpiringThisMonthIssueTest()\n        {\n           var getSubscriptionList = new ARBGetSubscriptionListRequest()\n                {\n                   searchType = ARBGetSubscriptionListSearchTypeEnum.cardExpiringThisMonth,\n                    \n                };\n\n           ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n           ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n            var nullController = new ARBGetSubscriptionListController(getSubscriptionList);\n            Assert.IsNull( nullController, \"Controller should not be instantiated.\");\n        }\n\n        /// <summary>\n        /// Fix the issue ARBSubscriptionList SearchType of \"cardExpiringThisMonth\" doesn't work\n        /// @Zalak\n        /// </summary>\n        [Test]\n        public void GetSubscriptionSearchCardExpiringThisMonthFixTest()\n        {\n            var rnd = new AnetRandom(DateTime.Now.Millisecond);\n            var createSubscription = new ARBSubscriptionType()\n            {\n                paymentSchedule = new paymentScheduleType\n                {\n                    interval = new paymentScheduleTypeInterval\n                    {\n                        length = 8,\n                        unit = ARBSubscriptionUnitEnum.months\n                    },\n                    startDate = DateTime.UtcNow,\n                    totalOccurrences = 3,\n                },\n                amount = 19.29M,\n\n                billTo = new nameAndAddressType\n                {\n                    address = \"1234 Elm St NE\",\n                    city = \"Bellevue\",\n                    state = \"WA\",\n                    zip = \"98007\",\n                    firstName = \"First\",\n                    lastName = \"Last\"\n                },\n\n                payment = new paymentType\n                {\n                    Item = new creditCardType\n                    {\n                        cardCode = \"123\",\n                        cardNumber = \"5105105105105100\",\n                        // cardNumber = \"4111111111111111\",\n                        expirationDate = \"102015\",\n                    }\n                },\n\n                customer = new customerType { email = \"somecustomer@test.org\", id = \"5\", },\n\n                order = new orderType { description = string.Format(\"member monthly {0}\", rnd.Next(99999)) },\n            };\n            var arbCreateSubscriptionController = CreateSubscriptionRequestTest(createSubscription);\n            var arbCreateSubscriptionResponse = arbCreateSubscriptionController.ExecuteWithApiResponse();\n\n            if (null == arbCreateSubscriptionResponse)\n            {\n                throw new ArgumentNullException(\"arbCreateSubscriptionResponse\");\n            }\n\n            var getSubscriptionList = new ARBGetSubscriptionListRequest()\n            {\n                searchType = ARBGetSubscriptionListSearchTypeEnum.cardExpiringThisMonth,\n\n            };\n\n            var arbGetSubscriptionListController = new ARBGetSubscriptionListController(getSubscriptionList);\n            var arbGetSubscriptionListResponse = arbGetSubscriptionListController.ExecuteWithApiResponse();\n\n            Assert.IsNotNull(arbGetSubscriptionListResponse);\n        }\n\n        private ARBGetSubscriptionListResponse GetSubscriptionListResponse(int limitNo, int offSetNo)\n        {\n            var getSubscriptionList = new ARBGetSubscriptionListRequest()\n            {\n                searchType = ARBGetSubscriptionListSearchTypeEnum.subscriptionActive,\n                paging = new Paging()\n                {\n                    limit = limitNo,\n                    offset = offSetNo\n                },\n\n            };\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n            var arbGetSubscriptionListController = new ARBGetSubscriptionListController(getSubscriptionList);\n            var arbGetSubscriptionListResponse = arbGetSubscriptionListController.ExecuteWithApiResponse();\n            return arbGetSubscriptionListResponse;\n\n        }\n        /// <summary>\n        /// @Zalak\n        /// Test case for Pagination issue reported in Jira:\n        ///  C# - ARBSubscriptionList SearchType of \"cardExpiringThisMonth\" doesn't work  \n        /// </summary>\n        [Test]\n        public void ARBGetSubscriptionListCheckPagination()\n        {\n\n            var arbGetSubscriptionListResponse = GetSubscriptionListResponse(1, 1);\n            ARBGetSubscriptionListResponse response = null;\n            int limitNo = 3;\n            int offSetNo = 2;\n            \n            if (arbGetSubscriptionListResponse != null)\n            {\n                int subcriptionNumber = arbGetSubscriptionListResponse.totalNumInResultSet;\n                int expectedSubscriptionNo = 0;\n                int nPages = subcriptionNumber/limitNo;\n                int subscriptionDetailsOnLastPage = subcriptionNumber%limitNo;\n                if (offSetNo <= nPages)\n                    expectedSubscriptionNo = limitNo;\n                else if (offSetNo > (nPages + 1))\n                    expectedSubscriptionNo = 0;\n                else\n                {\n                    expectedSubscriptionNo = subscriptionDetailsOnLastPage;\n                }\n                response = GetSubscriptionListResponse(limitNo, offSetNo);\n                Assert.AreEqual(expectedSubscriptionNo, response.subscriptionDetails.Count());\n            }\n            else\n            {\n                Assert.Null(arbGetSubscriptionListResponse);\n            }   \n            \n        }\n\n\n        private ARBCreateSubscriptionController CreateSubscriptionRequestTest(ARBSubscriptionType subscriptionRequestParameter)\n        {\n            if (subscriptionRequestParameter == null)\n            {\n                throw new ArgumentNullException(\"subscriptionRequestParameter\");\n            }\n            LogHelper.info(Logger, \"CreateSubscriptionRequestTest\");\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            var arbRequest = new ARBCreateSubscriptionRequest { subscription = subscriptionRequestParameter };\n            var arbController = new ARBCreateSubscriptionController(arbRequest);\n            \n            return arbController;\n        }\n\n\n\n\t    private ARBGetSubscriptionListRequest SetupSubscriptionListRequest(merchantAuthenticationType merchantAuthentication) {\n\t\t\n\t\t    var sorting = new ARBGetSubscriptionListSorting\n\t\t        {\n\t\t            orderDescending = true,\n\t\t            orderBy = ARBGetSubscriptionListOrderFieldEnum.createTimeStampUTC,\n\t\t        };\n\t        var paging = new Paging\n\t            {\n\t                limit = 500, \n                    offset = 1,\n\t            };\n\n\t        var listRequest = new ARBGetSubscriptionListRequest\n\t            {\n\t                merchantAuthentication = merchantAuthentication,\n\t                refId = RefId,\n\t                searchType = ARBGetSubscriptionListSearchTypeEnum.subscriptionActive,\n\t\t            sorting = sorting,\n\t\t            paging = paging,\n\t            };\n\n\t\t    return listRequest;\n\t    }\n        \n\t    private void CancelSubscription(merchantAuthenticationType merchantAuthentication, String subscriptionId) {\n\t\t    //cancel the subscription\n\t\t    var cancelRequest = new ARBCancelSubscriptionRequest\n\t\t        {\n\t\t            merchantAuthentication = merchantAuthentication,\n\t\t            refId = RefId,\n\t\t            subscriptionId = subscriptionId\n\t\t        };\n\t        var cancelResponse = ExecuteTestRequestWithSuccess<ARBCancelSubscriptionRequest, ARBCancelSubscriptionResponse, ARBCancelSubscriptionController>(cancelRequest, TestEnvironment);\n\t\t    Assert.IsNotNull(cancelResponse.messages);\n\t\t    Logger.info(String.Format(\"Subscription Cancelled: {0}\", subscriptionId));\n\t    }\n\n\t    private ARBSubscriptionStatusEnum GetSubscription(merchantAuthenticationType merchantAuthentication, String subscriptionId) {\n\t\t    //get a subscription\n\t\t    var getRequest = new ARBGetSubscriptionStatusRequest\n\t\t        {\n\t\t            merchantAuthentication = merchantAuthentication,\n\t\t            refId = RefId,\n\t\t            subscriptionId = subscriptionId\n\t\t        };\n\t        var getResponse = ExecuteTestRequestWithSuccess<ARBGetSubscriptionStatusRequest, ARBGetSubscriptionStatusResponse, ARBGetSubscriptionStatusController>(getRequest, TestEnvironment);\n\t\t    Assert.IsNotNull(getResponse.status);\n\t\t    Logger.info(String.Format(\"Subscription Status: {0}\", getResponse.status));\n\t\t    return getResponse.status;\n\t    }\n\n        private string CreateSubscription( merchantAuthenticationType merchantAuthentication, string RefId) \n        {\n\t\t    //create a new subscription\n            //RequestFactoryWithSpecified.paymentType(ArbSubscriptionOne.payment);\n            //RequestFactoryWithSpecified.paymentScheduleType(ArbSubscriptionOne.paymentSchedule);\n            //RequestFactoryWithSpecified.ARBSubscriptionType(ArbSubscriptionOne);\n\t\t    var createRequest = new ARBCreateSubscriptionRequest\n\t\t        {\n\t\t            merchantAuthentication = merchantAuthentication,\n\t\t            refId = RefId,\n\t\t            subscription = ArbSubscriptionOne,\n                      \n\t\t        };\n\n\t        var createResponse = ExecuteTestRequestWithSuccess<ARBCreateSubscriptionRequest, ARBCreateSubscriptionResponse, ARBCreateSubscriptionController>(createRequest, TestEnvironment);\n\t\t    Assert.IsNotNull(createResponse.subscriptionId);\n\t\t    LogHelper.info( Logger, \"Created Subscription: {0}\", createResponse.subscriptionId);\n\n\t\t    return createResponse.subscriptionId;\n\t    }\n\n        [Test]\n        public void TestSubscription_serialization_error()\n        {\n            var rnd = new AnetRandom(DateTime.Now.Millisecond);\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //create a subscription\n            var subscriptionDef = new ARBSubscriptionType\n            {\n                paymentSchedule = new paymentScheduleType\n                {\n                    interval = new paymentScheduleTypeInterval\n                    {\n                        length = 1,\n                        unit = ARBSubscriptionUnitEnum.months,\n                    },\n                    startDate = DateTime.UtcNow,\n                    totalOccurrences = 12,\n                },\n\n\n                amount = 9.99M,\n                billTo = new customerAddressType { firstName = \"first\", lastName = \"last\" },\n\n                payment = PaymentOne,\n\n                customer = CustomerOne,\n\n                order = new orderType { description = string.Format(\"member monthly {0}\", rnd.Next(99999)) },\n            };\n\n            var arbRequest = new ARBCreateSubscriptionRequest { subscription = subscriptionDef };\n            var arbController = new ARBCreateSubscriptionController(arbRequest);\n            arbController.Execute();\n\n            if (arbController.GetResultCode() == messageTypeEnum.Error)\n            {\n                var errorResp = arbController.GetErrorResponse();\n                Console.WriteLine(\"{0}: {1}\", errorResp.messages.message[0].code, errorResp.messages.message[0].text);\n            }\n\n        }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/Api/Controllers/Test/CreateTransactionTest.cs",
    "content": "﻿using System.Diagnostics;\n\nnamespace AuthorizeNet.Api.Controllers.Test\n{\n    using System;\n    using NUnit.Framework;\n    using AuthorizeNet.Api.Contracts.V1;\n    using AuthorizeNet.Api.Controllers;\n    using AuthorizeNet.Api.Controllers.Bases;\n    using AuthorizeNet.Util;\n\n    [TestFixture]\n    public class CreateTransactionTest : ApiCoreTestBase\n    {\n\n        [TestFixtureSetUp]\n        public new static void SetUpBeforeClass()\n        {\n            ApiCoreTestBase.SetUpBeforeClass();\n        }\n\n        [TestFixtureTearDown]\n        public new static void TearDownAfterClass()\n        {\n            ApiCoreTestBase.TearDownAfterClass();\n        }\n\n        [SetUp]\n        public new void SetUp()\n        {\n            base.SetUp();\n        }\n\n        [TearDown]\n        public new void TearDown()\n        {\n            base.TearDown();\n        }\n\n\n\n        [Test]\n        public void CreateProfileWithCreateTransactionRequestTest()\n        {\n            LogHelper.info(Logger, \"CreateProfileWithCreateTransactionRequestTest\");\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //create a transaction\n            var transactionRequestType = new transactionRequestType\n            {\n                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),\n                amount = SetValidTransactionAmount(Counter),\n                payment = PaymentOne,\n                order = OrderType,\n                customer = CustomerDataOne,\n                billTo = CustomerAddressOne,\n                shipTo = CustomerAddressOne,\n                profile = new customerProfilePaymentType\n                    {\n                        createProfile = true,\n                        createProfileSpecified = true,\n                    },\n            };\n            var createRequest = new createTransactionRequest\n            {\n                refId = RefId,\n                transactionRequest = transactionRequestType,\n            };\n            //create controller, execute and get response\n            var createController = new createTransactionController(createRequest);\n            createController.Execute();\n            var createResponse = createController.GetApiResponse();\n\n            //validate response\n            Assert.IsNotNull(createResponse.transactionResponse);\n            LogHelper.info(Logger, \"Response: {0}\", createResponse);\n            DisplayResponse(createResponse, \"Create Transaction Response\");\n            LogHelper.info(Logger, \"Created Transaction: {0}\", createResponse.transactionResponse);\n            Assert.IsNotNull(createResponse.transactionResponse.transId);\n            long transId;\n            Assert.IsTrue(long.TryParse(createResponse.transactionResponse.transId, out transId));\n            if (0 == transId)\n            {\n                ValidateFailure<createTransactionRequest, createTransactionResponse, createTransactionController>(createController, createResponse);\n                Assert.IsNotNull(createResponse.transactionResponse.errors);\n                foreach (var error in createResponse.transactionResponse.errors)\n                {\n                    LogHelper.info(Logger, \"Error-> Code:{0}, Text:{1}\", error.errorCode, error.errorText);\n                }\n            }\n            else\n            {\n                Assert.AreNotEqual(0, transId);\n                ValidateSuccess<createTransactionRequest, createTransactionResponse, createTransactionController>(createController, createResponse);\n            }\n            var profileResponse = createResponse.profileResponse;\n            Assert.IsNotNull(profileResponse);\n            Assert.IsNotNull(profileResponse.customerProfileId);\n            Assert.IsNotNull(profileResponse.customerPaymentProfileIdList);\n            Assert.IsNotNull(profileResponse.customerShippingAddressIdList);\n            Assert.AreNotEqual(\"0\", profileResponse.customerProfileId);\n\n            Assert.AreEqual(1, profileResponse.customerPaymentProfileIdList.Length);\n            Assert.AreNotEqual(\"0\", profileResponse.customerPaymentProfileIdList[0]);\n\n            Assert.AreEqual(1, profileResponse.customerShippingAddressIdList.Length);\n            Assert.AreNotEqual(\"0\", profileResponse.customerShippingAddressIdList[0]);\n        }\n        \n        /// <summary>\n        /// @Zalak \n        /// For issue #62 Github Dot.net SDK\n        /// </summary>\n        /// <param name=\"transactionRequestParameter\"></param>\n        /// <returns></returns>\n        private createTransactionController CreateTransactionRequestTest(transactionRequestType transactionRequestParameter)\n        {\n            if (transactionRequestParameter == null)\n            {\n                throw new ArgumentNullException(\"transactionRequestParameter\");\n            }\n            LogHelper.info(Logger, \"CreateTransactionRequestTest\");\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //create a transaction\n            var transactionRequestType = transactionRequestParameter;\n            var createRequest = new createTransactionRequest\n                {\n                    refId = RefId,\n                    transactionRequest = transactionRequestType,\n                };\n            //create controller\n            var createController = new createTransactionController(createRequest);\n         \n            return createController;\n        }\n\n        \n\n        //@Zalak\n        /// <summary>\n        /// Issue number #62 github dot-net sdk\n        /// </summary>\n        [Test]\n        public void CreateRefundWithCustomerProfileRequestTest()\n        {\n            LogHelper.info(Logger, \"CreateRefundWithCustomerProfileRequestTest\");\n\n            //created a new transaction \n            var chargedTransactionRequest = new transactionRequestType\n                {\n                    transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),\n                    amount = SetValidTransactionAmount(Counter),\n                    payment = PaymentOne,\n                    customer = CustomerDataOne,\n                    billTo = CustomerAddressOne,\n                    profile = new customerProfilePaymentType\n                        {\n                            createProfile = true,\n                            //createProfileSpecified = true, //TODO : Update RequestFactory for Specified\n                        },\n                };\n            \n            var createController = CreateTransactionRequestTest(chargedTransactionRequest);\n            if(createController == null)\n                throw new ArgumentNullException(\"createController\");\n\n            var createResponse = createController.ExecuteWithApiResponse();\n            if (createResponse == null)\n            {\n                throw new ArgumentNullException(\"createResponse\");\n            }\n\n            if (createResponse.transactionResponse.transId == null)\n            {\n                throw new ArgumentNullException(\"TransId is null\");\n            }\n            chargedTransactionRequest.refTransId = createResponse.transactionResponse.transId;\n\n            if (createResponse.profileResponse == null)\n            {\n                throw new ArgumentNullException(\"profileResponse\");\n            }\n            var profileResponse = createResponse.profileResponse;\n            \n            // creating a refund transaction request for above transaction using customer profile id and customer payment profile id\n            chargedTransactionRequest.transactionType = transactionTypeEnum.refundTransaction.ToString();\n           chargedTransactionRequest.profile = new customerProfilePaymentType();\n           chargedTransactionRequest.profile.customerProfileId = profileResponse.customerProfileId;\n            chargedTransactionRequest.profile.paymentProfile = new paymentProfile()\n            {\n                 paymentProfileId = profileResponse.customerPaymentProfileIdList[0],\n            };\n         \n            chargedTransactionRequest.customer = null;\n            chargedTransactionRequest.billTo = null;\n            chargedTransactionRequest.payment = null;\n\n            createController = CreateTransactionRequestTest(chargedTransactionRequest);\n            createResponse = createController.ExecuteWithApiResponse();\n            Assert.IsNotNull(createResponse);\n            //currently the transaction is failing because the bug fix is on server end\n            var errorResponse = createResponse.messages;\n            Assert.AreEqual(1, errorResponse.message.Length);\n            Assert.AreEqual(\"E00051\", errorResponse.message[0].code);\n            Assert.AreEqual(errorResponse.message[0].text, \"The original transaction was not issued for this payment profile.\");\n       }\n\n        /// <summary>\n        /// @Zalak\n        /// Issue #62: If shipping address is not included in request then it will be empty it will not be same as billing address\n        /// </summary>\n        [Test]\n        public void CreateTransactionShippingAddressTest()\n        {\n            LogHelper.info(Logger, \"CreateRefundWithCustomerProfileRequestTest\");\n\n            //created a new transaction \n            var chargedTransactionRequest = new transactionRequestType\n                {\n                    transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),\n                    amount = SetValidTransactionAmount(Counter),\n                    payment = PaymentOne,\n                    customer = CustomerDataOne,\n                    billTo = CustomerAddressOne,\n                    profile = new customerProfilePaymentType\n                        {\n                            createProfile = true,\n                            createProfileSpecified = true, \n                        },\n                };\n            \n            var createController = CreateTransactionRequestTest(chargedTransactionRequest);\n            var createResponse = createController.ExecuteWithApiResponse();\n            if (createResponse == null)\n                throw new ArgumentNullException(\"createResponse\");\n\n            Assert.IsNotNull(createResponse.transactionResponse);\n            LogHelper.info(Logger, \"Response: {0}\", createResponse);\n            DisplayResponse(createResponse, \"Create Transaction Response\");\n            LogHelper.info(Logger, \"Created Transaction: {0}\", createResponse.transactionResponse);\n            Assert.IsNotNull(createResponse.transactionResponse.transId);\n            long transId;\n            Assert.IsTrue(long.TryParse(createResponse.transactionResponse.transId, out transId));\n            \n            if (0 == transId)\n            {\n                ValidateFailure<createTransactionRequest, createTransactionResponse, createTransactionController>(createController, createResponse);\n                Assert.IsNotNull(createResponse.transactionResponse.errors);\n                foreach (var error in createResponse.transactionResponse.errors)\n                {\n                    LogHelper.info(Logger, \"Error-> Code:{0}, Text:{1}\", error.errorCode, error.errorText);\n                }\n            }\n            else\n            {\n                ValidateSuccess<createTransactionRequest, createTransactionResponse, createTransactionController>(createController, createResponse);\n                Assert.AreNotEqual(0, transId);\n            }\n\n            var profileResponse = createResponse.profileResponse;\n            Assert.IsNotNull(profileResponse);\n            Assert.IsNotNull(profileResponse.customerProfileId);\n            Assert.IsNotNull(profileResponse.customerPaymentProfileIdList);\n            Assert.AreEqual(\"\",profileResponse.customerShippingAddressIdList);\n            Assert.AreNotEqual(\"0\", profileResponse.customerProfileId);\n\n            Assert.AreEqual(1, profileResponse.customerPaymentProfileIdList.Length);\n            Assert.AreNotEqual(\"0\", profileResponse.customerPaymentProfileIdList[0]);\n\n            Assert.AreEqual(0, profileResponse.customerShippingAddressIdList.Length);\n           \n        }\n\n        [Test]\n        public void CreateTransactionInvalidRequestSchemaValidationTest()\n        {\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType;\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //create a transaction\n            var transactionRequestType = new transactionRequestType\n            {\n                //removing the transaction type here is important to expect the schema validation error\n                //transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),\n                amount = SetValidTransactionAmount(Counter),\n                payment = PaymentOne,\n                order = OrderType,\n                customer = CustomerDataOne,\n                billTo = CustomerAddressOne,\n\n            };\n            var createRequest = new createTransactionRequest\n            {\n                refId = RefId,\n                transactionRequest = transactionRequestType,\n            };\n\n            //create controller, execute and get response \n            var createController = new createTransactionController(createRequest);\n            createController.Execute();\n            var createResponse = createController.GetApiResponse();\n\n            //validate response\n            Assert.IsNull(createResponse);\n            var errorResponse = createController.GetErrorResponse();\n            Assert.IsNotNull(errorResponse);\n            Assert.IsNotNull(errorResponse.messages);\n            Assert.IsNotNull(errorResponse.messages.message);\n            Assert.AreEqual(messageTypeEnum.Error, errorResponse.messages.resultCode);\n            Assert.AreEqual(1, errorResponse.messages.message.Length);\n            Assert.AreEqual(\"E00003\", errorResponse.messages.message[0].code);\n            ValidateErrorCode(errorResponse.messages, \"E00003\");\n        }\n\n        [Test]\n        [Ignore(\"Blob data is invalid\")]\n        public void DecryptPaymentDataRequestTest()\n        {\n            LogHelper.info(Logger, \"decryptPaymentDataRequestTest\");\n\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType()\n            {\n                name = \"5KP3u95bQpv\",\n                ItemElementName = ItemChoiceType.transactionKey,\n                Item = \"346HZ32z3fP4hTG2\",\n            };\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment;\n\n            //create a transaction\n            var opaqueDataType = new opaqueDataType\n            {\n                dataDescriptor = \"COMMON.VCO.ONLINE.PAYMENT\",\n                dataKey = \"foFBEbhXljevQQasx5Q87hzj57xvUl4iBmXDdB1vs/Lm/M1uKJiF9V5QxI0A6NvAtIckMvutSl0Chz2SNoSeBuTRzK0y4IlfnfWKnJF7a1LV/bjZokTtFKINdZ+Ks9RB\",\n                dataValue = \"AjHRw1gU/pQqLQLIElFPBV00dQkzQvZnhAd6XrpVI8MRzhatkmv5MVtggr7XkIfWtiVk8JJQDvuwYAQ6Hl/MNxFIgn7ygGbZm17yAoQpR9l0z0d93I92Oed5sxueqG46CaDCJm1W8zhm9ce8ARn6JyQtDokhHt3psxbfut8q/+cjl8jsIGKKLR+IgA3zPxO3vaL9JEum4bkE3oDJvQhlYJPTjtV3zJRe5n6prvDkMJ9deP0tyiRHaR8OB6BUrCMkyhDLS3ghn2Do7Dv+uN+7bRtj9SuTyUEvDhTx/o3PJ0ELdwBkdKvRh0sLcrK3LkBoto3ppq/a0WT+ckOEz5u+1pUvXAJtCRPHyILvyScFB39OUoxVSvvaBrBGgUaztGqRvVJNhqQmAYU2NQ5DgoWM8TcBzdQwdzqkczbs7egVQa/44+p78zWjzJxoG5cP7EQUNnUL7eaIj3ezbwBtz0ciwNsuCm2bs6vT0hB6GVXwkro5fcvV52Vd32wrpmRJYd20CjfuR7Nit4xKF8VTtmQ0c7A3zgvaUBXH/gOn4KMNXDl8BOKlJaP+hjHy5EhFCW4zO1G1Oz6kOCNY9bQiRhfSw3sSK1gpEiwX8bbjIPpvxiQ1zSaPk5EV+llKF4nMY90qHsE6bS1qp6hqEPLgsQasfdQJ/qQEAZfvuufApEu35ddFYycBz2D8jL/QDEzUIU4/DDOciWAGhlRKfo58H+KcdmcqTAbWOtfNPS1fR33phC0ETUiT3HyQu2rYeY2AdUQZOG5/NULs3nlN2F5TpK3Uhy9hNcuC20PBljcrL0yK6e4C53Md3VHGq31RsTs2lQvcbiURP43peYPeCk+gffN1TUKWfeKuNHcz1Xxc0b4IybMn8uxcaGAraxjdJ1J01I+PuwLgy5Xcsi9SB84CDfxlCNlJvUMgWgyG6iWisjmfzHjEyW+mvI6NFBlqeuRCoOLIpByIRCienHShSGRNRvfyIoHag65QXhR7oTFK93GnilitBNjxBjM+sihiNd+r1XgE8XcuftQObt3c81HL9FIAtrmyAsMEjFl4e1xBdxpGZ3Ft0QMTX12/K0ragGkm5dYmaKigiz3NSOPkT+VieoD0ZpoulXd+8rceocpKhlM0aARbZxKYGaApeyfALlvVH2ilOxn2YPRP7a1Umnr+OtE/yOvvCQfFF0EfEfXmAKoiNbgif7jBjXLWyu7zBLKFmiGI8VboyARpPAFcoOpywqxN6DRCO20A/yHKE5YvR+PPsX0ggrPOts7hEKpp9Z8kd33UC0D3JsxVTsc+L5rwZt1Pk9C4jUOhfWZaINqohS3OVASwfSSmL6JiFivEACvf8FX2D8yz3pz40x79R8nNUy0mQNjrsUzqnNeQjKbKojKvdZvrgcMGYUfyQe3wDIqpqUo8beBkszDrX4Speppb5Qeeu/uYKswus7MhFnhHxQ/eFT9f9K84fXvoP5Zcd+jyWBHen8XwgfNui6XcsEo5IL6X40Zsao+f7LbilFpA+34cldTQybb4SxbqUKhJLmAaL/po8axvJLQenP3vJpfQY5Fbq7oVOXYLJwqm71wf0r1bVTpcgg6pZeD64QCJND3q2DvCWe66uQBcFOQVp9BggUTkKW5hefIUIP3TD1G8HOH508PBCLemVm7Q3TZSG3g+aw25URKTEg+KPpLEQykXYv32FIjM8B3Bq1Z+7t6kRc9u6xtMliAy/kz5UcxaTNlDfrsuw1AISX+3NZ0gIVsKbsZ+nCpnXuv9DeuI55Ccz1A99B2lG2d1zSa9Y+M0wX/KFIkN2wrv2Af7zSVt2ovxoGdbK1wkpErzkqmqupr5Bh16CpccHIsI+DV3yfwgmbaIg0YGaxLjKCoeLTF/RogEsw+2wJjqxgbIXJVtpS5sQqcUrUHpQGl5iee0V1BiGL6Z9qcoARMJ3JwY6FDw6Be7Le38LgONm5FRa7/CQFd8Gh0oyvPgyUKoxlLO1OvlXN8PJ4qMJGRKn6X7KwDrUpjv2pXIzO+t11WHUMprVYq3br0MPjnF6I8bi4CqpKUoYp6jUm4Prx4qCiY7UIWAYsPvjE4Vlp+o0ny0P3wiNGAHmD1bVeoFhsgXI0MIPTlsnYCCy6YkFBI/piXAo0ooxXKvIg6LR3zF0Hopaj85gL3fgIHo/Jo5HlH+z3C/C/5PGEapgDNnlB4jEfNQMOVeBlZZBVmJXIz8eQDMzsDApxp0NE+00HdsrLUbD5H/HbwUHoKK7ipypQltvF1ZQx6N69zllqeI5pwr0F4a+QPfKiPANbcT6qEaUm24K4iXMWQ/5kccHX2t\"\n            };\n\n            var decryptPaymentDataRequest = new decryptPaymentDataRequest()\n            {\n                opaqueData = opaqueDataType,\n                callId = \"1166739390571781401\"\n            };\n            //create controller, execute and get response\n            var decryptPaymentDataController = new decryptPaymentDataController(decryptPaymentDataRequest);\n            decryptPaymentDataController.Execute();\n            var decryptPaymentDataResponse = decryptPaymentDataController.GetApiResponse();\n\n            //validate response\n            Assert.IsNotNull(decryptPaymentDataResponse);\n            LogHelper.info(Logger, \"Response: {0}\", decryptPaymentDataResponse);\n            Assert.IsNotNull(decryptPaymentDataResponse.messages);\n            Assert.IsNotNull(decryptPaymentDataResponse.messages.message);\n            Assert.AreEqual(decryptPaymentDataResponse.messages.resultCode, messageTypeEnum.Ok);\n            Assert.AreEqual(decryptPaymentDataResponse.billingInfo.firstName, \"Authorize\");\n            Assert.AreEqual(decryptPaymentDataResponse.billingInfo.lastName, \"Tester\");\n            Assert.AreEqual(decryptPaymentDataResponse.cardInfo.cardNumber, \"XXXX4242\");\n        }\n    }\n}\n/*\n\nThe current plan for the bug bash is postponed until arkadiy’s investigation of the echeck bug fix.\n(If the at’s fix go in, we might need to wait for the brand new build in PLUM for the bug bash).\n\nI used the api docs to get this to work for JSON, I just needed to remove the namespace line.\n\nI’m hoping to have a new version of API Docs with static request/responses (so the paypals really help) by the 3pm bug bash.\n\nThis is what I have so far, some sample JSON and XML requests for PayPal.\nI’m working on the others.\n\nAuth Only PayPal--------------------------------------------------------\n\nXML request\n<?xml version=\"1.0\" encoding=\"utf-16\"?>\n<createTransactionRequest xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\">\n  <transactionRequest>\n    <transactionType>authOnlyTransaction</transactionType>\n    <amount>5</amount>\n    <payment>\n      <payPal>\n        <successUrl>http://blah.com</successUrl>\n        <cancelUrl>http://blah.com</cancelUrl>\n      </payPal>\n    </payment>\n  </transactionRequest>\n</createTransactionRequest>\n\nJSON request--------------\n{\n  \"createTransactionRequest\":\n  {\n    \"merchantAuthentication\":\n    {\n    ,\"transactionRequest\":\n    {\n      \"transactionType\":\"authOnlyTransaction\",\"amount\":\"5\",\"payment\":\n      {\n        \"payPal\":\n        {\n          \"successUrl\":\"http://blah.com\",\"cancelUrl\":\"http://blah.com\"}\n      }\n    }}\n}\n\nJSON response\n{\n  \"transactionResponse\":{\n    \"responseCode\":\"5\",\"rawResponseCode\":\"0\",\"transId\":\"2149186510\",\"refTransID\":\"\",\"transHash\":\"4B59979D6C305BF85D82D803FD2A776A\",\"testRequest\":\"0\",\"accountType\":\"PayPal\",\"messages\":[{\n      \"code\":\"2000\",\"description\":\"Need payer consent.\"}\n                                                                                                                                                                                       ],\"secureAcceptance\":{\n                                                                                                                                                                                         \"SecureAcceptanceUrl\":\"https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-WHUJYBCWWQFFSPUTN\"}\n  }\n  ,\"messages\":{\n    \"resultCode\":\"Ok\",\"message\":[{\n      \"code\":\"I00001\",\"text\":\"Successful.\"}\n                                ]}\n}\n\n\nAuth Only Continue----------------------------------------------\n\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<createTransactionRequest xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\">\n  <transactionRequest>\n    <transactionType>authOnlyContinueTransaction</transactionType>\n    <amount>5.00</amount>\n    <payment>\n      <payPal>\n        <payerID>SNTNC44D4GXGC</payerID>\n      </payPal>\n    </payment>\n    <refTransId>2149186511</refTransId>\n  </transactionRequest>\n</createTransactionRequest>\n\nJSON request------------------------------\n{\n  \"createTransactionRequest\":\n  {\n    \"merchantAuthentication\":\n    {\n    ,\"transactionRequest\":\n    {\n      \"transactionType\":\"authOnlyContinueTransaction\",\"amount\":\"5.00\",\"payment\":\n      {\n        \"payPal\":\n        {\n          \"payerID\":\"SNTNC44D4GXGC\"}\n      }\n      ,\"refTransId\":\"2149186511\"}\n}\n\n\nJSON response-------------------------------\n{\n  \"transactionResponse\":{\n    \"responseCode\":\"1\",\"rawResponseCode\":\"0\",\"transId\":\"2149186511\",\"refTransID\":\"2149186511\",\"transHash\":\"578362630D36EDEB7F00672739422907\",\"testRequest\":\"0\",\"accountType\":\"PayPal\",\"messages\":[{\n      \"code\":\"1\",\"description\":\"This transaction has been approved.\"}\n                                                                                                                                                                                                 ],\"secureAcceptance\":{\n                                                                                                                                                                                                   \"PayerID\":\"SNTNC44D4GXGC\"}\n  }\n  ,\"messages\":{\n    \"resultCode\":\"Ok\",\"message\":[{\n      \"code\":\"I00001\",\"text\":\"Successful.\"}\n                                ]}\n}\n*/"
  },
  {
    "path": "AuthorizeNETtest/App.config",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n    <appSettings>\n        <add key=\"api.login.id\" value=\"API_LOGIN\" />\n        <add key=\"transaction.key\" value=\"API_KEY\" />\n        <add key=\"md5.hash.key\" value=\"\" />\n    </appSettings>\n    <startup>\n        <supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.5\"/>\n    </startup>\n</configuration>\n\n"
  },
  {
    "path": "AuthorizeNETtest/AuthorizeNETtest.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"..\\packages\\NUnitTestAdapter.2.3.0\\build\\NUnitTestAdapter.props\" Condition=\"Exists('..\\packages\\NUnitTestAdapter.2.3.0\\build\\NUnitTestAdapter.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProductVersion>9.0.30729</ProductVersion>\n    <SchemaVersion>2.0</SchemaVersion>\n    <ProjectGuid>{CDA0D4D8-E4AA-4BEA-8839-04D69607D914}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>AuthorizeNETtest</RootNamespace>\n    <AssemblyName>AuthorizeNETtest</AssemblyName>\n    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <FileUpgradeFlags>\n    </FileUpgradeFlags>\n    <OldToolsVersion>3.5</OldToolsVersion>\n    <UpgradeBackupLocation />\n    <TargetFrameworkProfile />\n    <NuGetPackageImportStamp>\n    </NuGetPackageImportStamp>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <PlatformTarget>AnyCPU</PlatformTarget>\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin/Debug</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <NoWarn>0219,1591,1635</NoWarn>\n    <Prefer32Bit>false</Prefer32Bit>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <PlatformTarget>AnyCPU</PlatformTarget>\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin/Release</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <Prefer32Bit>false</Prefer32Bit>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"NMock3\">\n      <HintPath>..\\packages\\NMock3.3.5.44\\lib\\net40\\NMock3.dll</HintPath>\n    </Reference>\n    <Reference Include=\"nunit-console-runner\">\n      <HintPath>..\\NUnit-2.6.3\\bin\\lib\\nunit-console-runner.dll</HintPath>\n    </Reference>\n    <Reference Include=\"nunit.core\">\n      <HintPath>..\\NUnit-2.6.3\\bin\\lib\\nunit.core.dll</HintPath>\n    </Reference>\n    <Reference Include=\"nunit.core.interfaces\">\n      <HintPath>..\\NUnit-2.6.3\\bin\\lib\\nunit.core.interfaces.dll</HintPath>\n    </Reference>\n    <Reference Include=\"nunit.framework\">\n      <HintPath>..\\NUnit-2.6.3\\bin\\nunit.framework.dll</HintPath>\n    </Reference>\n    <Reference Include=\"nunit.util\">\n      <HintPath>..\\NUnit-2.6.3\\bin\\lib\\nunit.util.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Configuration\" />\n    <Reference Include=\"System.Core\">\n      <RequiredTargetFramework>3.5</RequiredTargetFramework>\n    </Reference>\n    <Reference Include=\"System.Data\" />\n    <Reference Include=\"System.Data.DataSetExtensions\">\n      <RequiredTargetFramework>3.5</RequiredTargetFramework>\n    </Reference>\n    <Reference Include=\"System.Security\" />\n    <Reference Include=\"System.Xml\" />\n    <Reference Include=\"System.Xml.Linq\">\n      <RequiredTargetFramework>3.5</RequiredTargetFramework>\n    </Reference>\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Include=\"BaseTest.cs\" />\n    <Compile Include=\"UnitTestData.cs\" />\n    <Compile Include=\"WebRequestLocal.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\ARBGetSubscriptionControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\getCustomerPaymentProfileListControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\getHostedPaymentPageControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\getMerchantDetailsControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\securePaymentContainerControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\updateHeldTransactionControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\updateMerchantDetailsControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\SampleTest\\CustomerProfileSampleTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\Test\\*.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\ARBCancelSubscriptionControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\ARBCreateSubscriptionControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\ARBGetSubscriptionListControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\ARBGetSubscriptionStatusControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\ARBUpdateSubscriptionControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\authenticateTestControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\createCustomerPaymentProfileControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\createCustomerProfileControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\createCustomerProfileFromTransactionControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\createCustomerProfileTransactionControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\createCustomerShippingAddressControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\createProfileControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\createTransactionControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\decryptPaymentDataControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\deleteCustomerPaymentProfileControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\deleteCustomerProfileControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\deleteCustomerShippingAddressControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\getBatchStatisticsControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\getCustomerPaymentProfileControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\getCustomerProfileControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\getCustomerProfileIdsControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\getCustomerShippingAddressControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\getHostedProfilePageControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\getSettledBatchListControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\getTransactionDetailsControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\getTransactionListControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\getUnsettledTransactionListControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\isAliveControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\logoutControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\mobileDeviceLoginControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\mobileDeviceRegistrationControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\sendCustomerTransactionReceiptControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\transactionControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\updateCustomerPaymentProfileControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\updateCustomerProfileControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\updateCustomerShippingAddressControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\updateSplitTenderGroupControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\MockTest\\validateCustomerPaymentProfileControllerTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\SampleTest\\ArbSubscriptionSampleTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\SampleTest\\CreateCustomerProfileFromTransactionSampleTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\SampleTest\\CreateTransactionSampleTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\SampleTest\\eCheckTransactionSampleTest.cs\" />\n    <Compile Include=\"Api\\Controllers\\SampleTest\\ErrorMessagesSampleTest.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Authorize.NET\\AuthorizeNET.csproj\">\n      <Project>{5D52EAEC-42FB-4313-83B8-69E2F55EBF14}</Project>\n      <Name>AuthorizeNET</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Api\\ControllerTemplateTest.cst\" />\n    <None Include=\"App.config\">\n      <SubType>Designer</SubType>\n    </None>\n    <None Include=\"NMock3\\NMock3 Cheat Sheet.pdf\" />\n    <None Include=\"NMock3\\NMockTest.cs\" />\n    <None Include=\"packages.config\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Folder Include=\"Test References\\\" />\n  </ItemGroup>\n  <Import Project=\"$(MSBuildBinPath)\\Microsoft.CSharp.targets\" />\n  <Target Name=\"EnsureNuGetPackageBuildImports\" BeforeTargets=\"PrepareForBuild\">\n    <PropertyGroup>\n      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>\n    </PropertyGroup>\n    <Error Condition=\"!Exists('..\\packages\\NUnitTestAdapter.2.3.0\\build\\NUnitTestAdapter.props')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\packages\\NUnitTestAdapter.2.3.0\\build\\NUnitTestAdapter.props'))\" />\n  </Target>\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>"
  },
  {
    "path": "AuthorizeNETtest/BaseTest.cs",
    "content": "﻿using NUnit.Framework;\nusing System;\nusing System.Configuration;\nusing AuthorizeNet.Utility;\n\nnamespace AuthorizeNETtest\n{\n    /// <summary>\n    /// Summary description for UnitTest1\n    /// </summary>\n    [TestFixture]\n    public class BaseTest\n    {\n        protected static readonly WebRequestCreateLocal LocalRequestObject = new WebRequestCreateLocal();\n        protected string ApiLogin;\n        protected string TransactionKey;\n\n        public BaseTest()\n        {\n#if USELOCAL\n            WebRequest.RegisterPrefix(\"https://\", LocalRequestObject);\n#endif\n        }\n\n        /// <summary>\n        /// CheckApiLoginTransactionKey - make sure that we are not using the default invalid ApiLogin and TransactionKey.\n        /// </summary>\n        protected string CheckApiLoginTransactionKey()\n        {\n            ApiLogin = AuthorizeNet.Test.UnitTestData.GetPropertyFromNames(AuthorizeNet.Util.Constants.EnvApiLoginid, AuthorizeNet.Util.Constants.PropApiLoginid);\n            TransactionKey = AuthorizeNet.Test.UnitTestData.GetPropertyFromNames(AuthorizeNet.Util.Constants.EnvTransactionKey, AuthorizeNet.Util.Constants.PropTransactionKey);\n\n            string sRet = \"\";\n            if ((string.IsNullOrEmpty(ApiLogin)) || (ApiLogin.Trim().Length == 0)\n                || (string.IsNullOrEmpty(TransactionKey)) || (TransactionKey.Trim().Length == 0))\n            {\n                LoadLoginTranskey();\n            }\n\n            if ((string.IsNullOrEmpty(ApiLogin)) || (ApiLogin.Trim().Length == 0)\n                || (string.IsNullOrEmpty(TransactionKey)) || (TransactionKey.Trim().Length == 0))\n            {\n                sRet = \"Invalid Login / Password: blank \\n\";\n            }\n\n#if !USELOCAL\n            if ((ApiLogin == \"ApiLogin\") || (TransactionKey == \"TransactionKey\"))\n            {\n                sRet += \"Invalid Login / Password \\n\";\n            }\n#endif\n            return sRet;\n        }\n\n        private void LoadLoginTranskey()\n        {\n            ApiLogin = ConfigurationManager.AppSettings[\"ApiLogin\"];\n            TransactionKey = ConfigurationManager.AppSettings[\"TransactionKey\"];\n        }\n\n        protected decimal getValidAmount()\n        {\n            var rnd = new AnetRandom(DateTime.Now.Millisecond);\n\n            return (decimal)rnd.Next(9999) / 100;\n        }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/NMock3/NMockTest.cs",
    "content": "/*\n * This sample test class was added when NMock3 was added\n * through NuGet.  It demonstrates how to mock properties,\n * methods, and events.  It is safe to delete if you don't\n * need it. \n */\n\nusing System;\nusing NMock;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\n\nnamespace NMockTests\n{\n\t[TestClass]\n\tpublic class SampleTest\n\t{\n\t\t//\n\t\t// For more samples and tutorials: http://nmock3.codeplex.com\n\t\t//\n\n\t\tprivate MockFactory _factory = new MockFactory();\n\n\t\t[TestCleanup]\n\t\tpublic void Cleanup()\n\t\t{\n\t\t\t_factory.VerifyAllExpectationsHaveBeenMet();\n\t\t\t_factory.ClearExpectations();\n\t\t}\n\n\t\t[TestMethod]\n\t\tpublic void PropertyTest()\n\t\t{\n\t\t\tvar mock = _factory.CreateMock<ITest>();\n\t\t\tmock.Expects.One.GetProperty(_ => _.Prop).WillReturn(\"Hello\");\n\t\t\tmock.Expects.One.SetPropertyTo(_ => _.Prop = \", World\");\n\n\t\t\tvar controller = new Controller(mock.MockObject);\n\t\t\tAssert.AreEqual(\"Hello, World\", controller.PropActions(\", World\"));\n\t\t}\n\n\t\t[TestMethod]\n\t\tpublic void MethodTest()\n\t\t{\n\t\t\tvar mock = _factory.CreateMock<ITest>();\n\t\t\tmock.Expects.One.MethodWith(_ => _.Method(1, 2, 3, 4)).WillReturn(new Version(5, 6, 7, 8));\n\n\t\t\tvar controller = new Controller(mock.MockObject);\n\t\t\tvar version = controller.GetVersion(1, 2, 3, 4);\n\n\t\t\tmock.Expects.One.Method(_ => _.Method(null)).With(Is.TypeOf<Version>()).WillReturn(\"3, 4, 5, 6\");\n\n\t\t\tvar result = controller.GetVersion(version);\n\t\t\tAssert.AreEqual(\"3, 4, 5, 6\", result);\n\t\t}\n\n\t\t[TestMethod]\n\t\tpublic void EventTest()\n\t\t{\n\t\t\tvar mock = _factory.CreateMock<ITest>();\n\t\t\tvar invoker = mock.Expects.One.EventBinding(_ => _.Event += null);\n\n\t\t\tvar controller = new Controller(mock.MockObject);\n\t\t\tcontroller.InitEvents();\n\n\t\t\tAssert.IsNull(controller.Status);\n\t\t\tinvoker.Invoke();\n\t\t\tAssert.AreEqual(\"Event Fired!\", controller.Status);\n\n\t\t}\n\n\t\tpublic interface ITest\n\t\t{\n\t\t\tstring Prop { get; set; }\n\t\t\tVersion Method(int a, int b, int c, int d);\n\t\t\tstring Method(Version version);\n\t\t\tevent EventHandler Event;\n\t\t}\n\t\tpublic class Controller\n\t\t{\n\t\t\tpublic string Status;\n\t\t\tprivate ITest _test;\n\t\t\tpublic Controller(ITest test)\n\t\t\t{\n\t\t\t\t_test = test;\n\t\t\t}\n\n\t\t\tpublic string PropActions(string arg1)\n\t\t\t{\n\t\t\t\t_test.Prop = arg1;\n\t\t\t\treturn _test.Prop + arg1;\n\t\t\t}\n\t\t\tpublic Version GetVersion(int a, int b, int c, int d)\n\t\t\t{\n\t\t\t\treturn _test.Method(a, b, c, d);\n\t\t\t}\n\t\t\tpublic string GetVersion(Version version)\n\t\t\t{\n\t\t\t\treturn _test.Method(version).ToString();\n\t\t\t}\n\t\t\tpublic void InitEvents()\n\t\t\t{\n\t\t\t\t_test.Event += _test_Event;\n\t\t\t}\n\n\t\t\tvoid _test_Event(object sender, EventArgs e)\n\t\t\t{\n\t\t\t\tStatus = \"Event Fired!\";\n\t\t\t}\n\t\t}\n\t}\n}"
  },
  {
    "path": "AuthorizeNETtest/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// General Information about an assembly is controlled through the following \n// set of attributes. Change these attribute values to modify the information\n// associated with an assembly.\n[assembly: AssemblyTitle(\"AuthorizeNETtest\")]\n[assembly: AssemblyDescription(\"\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"Visa Inc\")]\n[assembly: AssemblyProduct(\"AuthorizeNETtest\")]\n[assembly: AssemblyCopyright(\"Copyright © Visa Inc 2014\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n\n// Setting ComVisible to false makes the types in this assembly not visible \n// to COM componenets.  If you need to access a type in this assembly from \n// COM, set the ComVisible attribute to true on that type.\n[assembly: ComVisible(false)]\n\n// The following GUID is for the ID of the typelib if this project is exposed to COM\n[assembly: Guid(\"4f3c1454-321b-4ef5-9455-e0934ed5d118\")]\n\n// Version information for an assembly consists of the following four values:\n//\n//      Major Version\n//      Minor Version \n//      Build Number\n//      Revision\n//\n// You can specify all the values or you can default the Revision and Build Numbers \n// by using the '*' as shown below:\n[assembly: AssemblyVersion(\"1.0.0.0\")]\n[assembly: AssemblyFileVersion(\"1.0.0.0\")]\n"
  },
  {
    "path": "AuthorizeNETtest/UnitTestData.cs",
    "content": "namespace AuthorizeNet.Test\n{\n    using System;\n    using System.Configuration;\n    using System.Linq;\n    using AuthorizeNet.Util;\n\n    public abstract class UnitTestData\n    {\n        protected static string ApiLoginId;\n        protected static string TransactionKey;\n        protected static string MerchantMd5Key;\n\n        private static readonly Log Logger = LogFactory.getLog(typeof(UnitTestData));\n\n        /**\n         * Default static constructor\n         */\n        static UnitTestData()\n        {\n            //getPropertyFromNames get the value from properties file or environment\n            ApiLoginId = GetPropertyFromNames(Constants.EnvApiLoginid, Constants.PropApiLoginid);\n            TransactionKey = GetPropertyFromNames(Constants.EnvTransactionKey, Constants.PropTransactionKey);\n            MerchantMd5Key = GetPropertyFromNames(Constants.EnvMd5Hashkey, Constants.PropMd5Hashkey);\n\n            if (null == ApiLoginId || null == TransactionKey)\n            {\n                throw new ArgumentException(\"LoginId and/or TransactionKey have not been set.\");\n            }\n            else\n            {\n                LogHelper.info(Logger, \"PropertyValues: ApiLoginId:'{0}', TransactionKey:'{1}', MD5Key:'{2}' \", ApiLoginId, TransactionKey, MerchantMd5Key);\n            }\n        }\n\n        public static string GetPropertyFromNames(string pFirstName, string pSecondName)\n        {\n            var value = AuthorizeNet.Environment.GetProperty(pFirstName) ??\n                                    AuthorizeNet.Environment.GetProperty(pSecondName);\n\n            return value;\n        }\n    }\n}"
  },
  {
    "path": "AuthorizeNETtest/WebRequestLocal.cs",
    "content": "﻿using System;\nusing System.IO;\nusing System.Net;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading;\n\nnamespace AuthorizeNETtest\n{\n    public class WebRequestCreateLocal : IWebRequestCreate\n    {\n        public WebRequestCreateLocal()\n        {\n        }\n\n        public WebRequestCreateLocal(string response)\n        {\n            ResponseString = response;\n        }\n\n        public string ResponseString\n        {\n            get { return ResponseStrings[ResponseStringCount - 1]; }\n            set\n            {\n                ResponseStringCount = 0;\n                if (ResponseStrings == null)\n                {\n                    ResponseStrings = new string[] {value};\n                }\n                else\n                {\n                    ResponseStrings[0] = value;\n                }\n            }\n        }\n        public string[] ResponseStrings { get; set; }\n        public int ResponseStringCount { get; set; }\n\n        public WebRequest Create(Uri uri)\n        {\n            SerializationInfo si = new SerializationInfo(typeof(HttpWebRequest), new System.Runtime.Serialization.FormatterConverter());\n            StreamingContext sc = new StreamingContext();\n            WebHeaderCollection headers = new WebHeaderCollection();\n            WebProxy proxy = new WebProxy();\n            si.AddValue(\"_HttpRequestHeaders\", new WebHeaderCollection(), typeof(WebHeaderCollection));\n            si.AddValue(\"_Proxy\", null, typeof(IWebProxy));\n            si.AddValue(\"_KeepAlive\", true);\n            si.AddValue(\"_Pipelined\", true);\n            si.AddValue(\"_AllowAutoRedirect\", true);\n            si.AddValue(\"_AllowWriteStreamBuffering\", true);\n            si.AddValue(\"_HttpWriteMode\", 0);\n            si.AddValue(\"_MaximumAllowedRedirections\", 0);\n            si.AddValue(\"_AutoRedirects\", 0);\n            si.AddValue(\"_Timeout\", 500); //need to check below\n            si.AddValue(\"_ReadWriteTimeout\", 500);\n            si.AddValue(\"_MaximumResponseHeadersLength\", 128);\n            si.AddValue(\"_ContentLength\", 0);\n            si.AddValue(\"_MediaType\", 0);\n            si.AddValue(\"_OriginVerb\", 0);\n            si.AddValue(\"_ConnectionGroupName\", null);\n            si.AddValue(\"_Version\", HttpVersion.Version11, typeof(Version));\n            si.AddValue(\"_OriginUri\", new Uri(\"http://localhost\"), typeof(Uri));\n\n            WebRequestLocal request = new WebRequestLocal(si, sc);\n            ResponseStringCount++;            \n            request.ResponseString = ResponseString;\n\n            return request;\n        }\n    }\n\n    public class WebRequestLocal : HttpWebRequest\n    {\n        public WebRequestLocal(SerializationInfo serializationInfo, StreamingContext streamingContext)\n            : base(serializationInfo, streamingContext)\n        {\n        }\n\n        public string ResponseString { get; set; }\n\n        public override long ContentLength { get; set; }\n\n        public override Stream GetRequestStream()\n        {\n            MemoryStream ms = new MemoryStream();\n            ms.Capacity = (int) ContentLength;\n            return ms;\n        }\n\n        public override WebResponse GetResponse()\n        {\n            SerializationInfo si = new SerializationInfo(typeof(HttpWebResponse), new System.Runtime.Serialization.FormatterConverter());\n            StreamingContext sc = new StreamingContext();\n            WebHeaderCollection headers = new WebHeaderCollection();\n            si.AddValue(\"m_HttpResponseHeaders\", headers);\n            si.AddValue(\"m_Uri\", new Uri(\"http://localhost\"));\n            si.AddValue(\"m_Certificate\", null);\n            si.AddValue(\"m_Version\", HttpVersion.Version11);\n            si.AddValue(\"m_StatusCode\", HttpStatusCode.OK);\n            si.AddValue(\"m_ContentLength\", 0);\n            si.AddValue(\"m_Verb\", \"GET\");\n            si.AddValue(\"m_StatusDescription\", \"Local Response\");\n            si.AddValue(\"m_MediaType\", null);\n\n            WebResponseLocal response = new WebResponseLocal(si, sc);\n            response.ResponseString = ResponseString;\n            return response;\n        }\n    }\n\n    public class WebResponseLocal : HttpWebResponse\n    {\n        public WebResponseLocal(SerializationInfo serializationInfo, StreamingContext streamingContext)\n            : base(serializationInfo, streamingContext)\n        {\n        }\n\n        public string ResponseString { get; set; }\n\n        public override Stream GetResponseStream()\n        {\n            Encoding ascii = Encoding.ASCII;\n            byte[] bytes = ascii.GetBytes(ResponseString);\n            MemoryStream ms = new MemoryStream();\n            ms.Write(bytes, 0, bytes.Length);\n            ms.Seek(0, SeekOrigin.Begin);\n            return ms;\n        }\n    }\n}\n"
  },
  {
    "path": "AuthorizeNETtest/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"NMock3\" version=\"3.5.44\" targetFramework=\"net40\" />\n  <package id=\"NUnitTestAdapter\" version=\"2.3.0\" targetFramework=\"net461\" />\n</packages>"
  },
  {
    "path": "AuthorizeNet.nuspec",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd\">\n    <metadata>\n        <id>AuthorizeNet</id>\n        <version>2.0.5</version>\n        <title>AuthorizeNet</title>\n        <authors>Authorize.Net</authors>\n        <owners>AuthorizeNet</owners>\n        <licenseUrl>https://github.com/AuthorizeNet/sdk-dotnet/blob/master/LICENSE.txt</licenseUrl>\n        <projectUrl>https://github.com/AuthorizeNet/sdk-dotnet</projectUrl>\n        <iconUrl>http://developer.authorize.net/resources/images/favicon.ico</iconUrl>\n        <requireLicenseAcceptance>false</requireLicenseAcceptance>\n        <description>Use this SDK to integrate with the Authorize.Net APIs for Payment Transactions, Recurring Billing, Customer Payment Profiles and Reporting.</description>\n        <summary>Authorize.Net SDK for .Net</summary>\n        <tags>Payments API Authorize.Net</tags>\n    </metadata>\n    <files>\n        <file src=\"Authorize.NET\\bin\\Release\\AuthorizeNet.dll\" target=\"lib\\AuthorizeNet.dll\" />\n        <file src=\"Authorize.NET\\bin\\Release\\AuthorizeNet.xml\" target=\"lib\\AuthorizeNet.xml\" />\n    </files>\n</package>\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "+ Thanks for contributing to the Authorize.Net Dotnet SDK.\n\n+ Before you submit a pull request, we ask that you consider the following:\n\n     - Submit an issue to state the problem your pull request solves or the funtionality that it adds. We can then advise on the feasability of the pull request, and let you know if there are other possible solutions.\n     - Part of the SDK is auto-generated based on the XML schema. Due to this auto-generation, we cannot merge contributions for request or response classes. You are welcome to open an issue to report problems or suggest improvements. Auto-generated classes include all files inside [Contracts/v1](https://github.com/AuthorizeNet/sdk-dotnet/tree/master/Authorize.NET/Api/Contracts/V1)  and [Controllers](https://github.com/AuthorizeNet/sdk-dotnet/tree/master/Authorize.NET/Api/Controllers) folders, except [Controllers/Bases](https://github.com/AuthorizeNet/sdk-dotnet/tree/master/Authorize.NET/Api/Controllers/Bases).\n     - Files marked as deprecated are no longer supported. Issues and pull requests for changes to these deprecated files will be closed.\n     - Recent changes will be in [the future branch](https://github.com/AuthorizeNet/sdk-dotnet/tree/future). Before submitting an issue or pull request, check the future branch first to see if a fix has already been merged.\n     - **Always use the future branch for pull requests.** We will first merge pull requests to the future branch, before pushing to the master branch for the next release."
  },
  {
    "path": "LICENSE.txt",
    "content": "SDK LICENSE AGREEMENT\nThis Software Development Kit (“SDK”) License Agreement (“Agreement”) is between you (both the individual downloading the SDK and any legal entity on behalf of which such individual is acting) (“You” or “Your”) and Authorize.Net LLC (“Authorize.Net’).\nIT IS IMPORTANT THAT YOU READ CAREFULLY AND UNDERSTAND THIS AGREEMENT. BY CLICKING THE “I ACCEPT” BUTTON OR AN EQUIVALENT INDICATOR OR BY DOWNLOADING, INSTALLING OR USING THE SDK OR THE DOCUMENTATION, YOU AGREE TO BE BOUND BY THIS AGREEMENT.  \n\n1. DEFINITIONS\n     1.1 “Application(s)” means software programs that You develop to operate with the Gateway using components of the Software.\n     1.2 “Documentation” means the materials made available to You in connection with the Software by or on behalf of Authorize.Net pursuant to this Agreement. \n     1.3  “Gateway” means any electronic payment platform maintained and operated by Authorize.Net and any of its affiliates.\n     1.4  “Software” means all of the software included in the software development kit made available to You by or on behalf of Authorize.Net pursuant to this Agreement, including but not limited to sample source code, code snippets, software tools, code libraries, sample applications, Documentation and any upgrades, modified versions, updates, and/or additions thereto, if any, made available to You by or on behalf of Authorize.Net pursuant to this Agreement. \n2. GRANT OF LICENSE; RESTRICTIONS\n     2.1\tLimited License.  Subject to and conditioned upon Your compliance with the terms of this Agreement, Authorize.Net hereby grants to You a limited, revocable, non-exclusive, non-transferable, royalty-free license during the term of this Agreement to: (a) in any country worldwide, use, reproduce, modify, and create derivative works of the components of the Software solely for the purpose of developing,  testing  and manufacturing Applications; (b) distribute, sell or otherwise provide Your Applications that include components of the Software to Your end users; and (c) use the Documentation in connection with the foregoing activities.  The license to distribute Applications that include components of the Software as set forth in subsection (b) above includes the right to grant sublicenses to Your end users to use such components of the Software as incorporated into such Applications, subject to the limitations and restrictions set forth in this Agreement. \n     2.2 Restrictions.  You shall not (and shall have no right to): (a) make or distribute copies of the Software or the Documentation, in whole or in part, except as expressly permitted pursuant to Section 2.1; (b) alter or remove any copyright, trademark, trade name or other proprietary notices, legends, symbols or labels appearing on or in the Software or Documentation; (c) sublicense (or purport to sublicense) the Software or the Documentation, in whole or in part, to any third party except as expressly permitted pursuant to Section 2.1; (d) engage in any activity with the Software, including the development or distribution of an Application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the Gateway or platform, servers, or systems of Authorize.Net, any of its affiliates, or any third party; (e) make any statements that Your Application is “certified” or otherwise endorsed, or that its performance is guaranteed, by Authorize.Net or any of its affiliates; or (f) otherwise use or exploit the Software or the Documentation for any purpose other than to develop and distribute Applications as expressly permitted by this Agreement. \n     2.3 Ownership.  You shall retain ownership of Your Applications developed in accordance with this Agreement, subject to Authorize.Net’s ownership of the Software and Documentation (including Authorize.Net’s ownership of any portion of the Software or Documentation incorporated in Your Applications).  You acknowledge and agree that all right, title and interest in and to the Software and Documentation shall, at all times, be and remain the exclusive property of Authorize.Net and that You do not have or acquire any rights, express or implied, in the Software or Documentation except those rights expressly granted under this Agreement. \n     2.4 No Support.  Authorize.Net has no obligation to provide support, maintenance, upgrades, modifications or new releases of the Software.\n     2.5 Open Source Software.  You hereby acknowledge that the Software may contain software that is distributed under “open source” license terms (“Open Source Software”). You shall review the Documentation in order to determine which portions of the Software are Open Source Software and are licensed under such Open Source Software license terms.  To the extent any such license requires that Authorize.Net provide You any rights with respect to such Open Source Software that are inconsistent with the limited rights granted to You in this Agreement, then such rights in the applicable Open Source Software license shall take precedence over the rights and restrictions granted in this Agreement, but solely with respect to such Open Source Software. You acknowledge that the Open Source Software license is solely between You and the applicable licensor of the Open Source Software and that Your use, reproduction and distribution of Open Source Software shall be in compliance with applicable Open Source Software license.  You understand and agree that Authorize.Net is not liable for any loss or damage that You may experience as a result of Your use of Open Source Software and that You will look solely to the licensor of the Open Source Software in the event of any such loss or damage. \n     2.6 License to Authorize.Net. In the event You choose to submit any suggestions, feedback or other information or materials related to the Software or Documentation or Your use thereof (collectively, “Feedback”) to Authorize.Net, You hereby grant to Authorize.Net a worldwide, non-exclusive, royalty-free, transferable, sublicensable, perpetual and irrevocable license to use and otherwise exploit such Feedback in connection with the Software, Documentation, and other products and services. \n     2.7 Use. \n     (a) You represent, warrant and agree to use the Software and write Applications only for purposes permitted by (i) this Agreement; (ii) applicable law and regulation, including, without limitation, the Payment Card Industry Data Security Standard (PCI DSS); and (iii) generally accepted practices or guidelines in the relevant jurisdictions.  You represent, warrant and agree that if You use the Software to develop Applications for general public end users, that You will protect the privacy and legal rights of those users. If the Application receives or stores personal or sensitive information provided by end users, it must do so securely and in compliance with all applicable laws and regulations, including card association regulations. If the Application receives Authorize.Net account information, the Application may only use that information to access the end user's Authorize.Net account. You represent, warrant and agree that You are solely responsible for (and that neither Authorize.Net nor its affiliates have any responsibility to You or to any third party for): (i) any data, content, or resources that You obtain, transmit or display through the Application; and (ii) any breach of Your obligations under this Agreement, any applicable third party license, or any applicable law or regulation, and for the consequences of any such breach. \n     3. WARRANTY DISCLAIMER; LIMITATION OF LIABILITY\n     3.1 Disclaimer.  THE SOFTWARE AND THE DOCUMENTATION ARE PROVIDED ON AN “AS IS” AND “AS AVAILABLE” BASIS WITH NO WARRANTY.  YOU AGREE THAT YOUR USE OF THE SOFTWARE AND THE DOCUMENTATION IS AT YOUR SOLE RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, AUTHORIZE.NET AND ITS AFFILIATES EXPRESSLY DISCLAIM ALL WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, WITH RESPECT TO THE SOFTWARE AND THE DOCUMENTATION, INCLUDING ALL WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, SATISFACTORY QUALITY, ACCURACY, TITLE AND NON-INFRINGEMENT, AND ANY WARRANTIES THAT MAY ARISE OUT OF COURSE OF PERFORMANCE, COURSE OF DEALING OR USAGE OF TRADE.  NEITHER AUTHORIZE.NET NOR ITS AFFILIATES WARRANT THAT THE FUNCTIONS OR INFORMATION CONTAINED IN THE SOFTWARE OR THE DOCUMENTATION WILL MEET ANY REQUIREMENTS OR NEEDS YOU MAY HAVE, OR THAT THE SOFTWARE OR DOCUMENTATION WILL OPERATE ERROR FREE, OR THAT THE SOFTWARE OR DOCUMENTATION IS COMPATIBLE WITH ANY PARTICULAR OPERATING SYSTEM. \n     3.2 Limitation of Liability.  IN NO EVENT SHALL AUTHORIZE.NET AND ITS AFFILIATES BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR PUNITIVE DAMAGES, OR DAMAGES FOR LOSS OF PROFITS, REVENUE, BUSINESS, SAVINGS, DATA, USE OR COST OF SUBSTITUTE PROCUREMENT, INCURRED BY YOU OR ANY THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR TORT, EVEN IF AUTHORIZE.NET HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR IF SUCH DAMAGES ARE FORESEEABLE. IN NO EVENT SHALL THE ENTIRE LIABILITY OF AUTHORIZE.NET AND AFFILIATES ARISING FROM OR RELATING TO THIS AGREEMENT OR THE SUBJECT MATTER HEREOF EXCEED ONE HUNDRED U.S. DOLLARS ($100). THE PARTIES ACKNOWLEDGE THAT THE LIMITATIONS OF LIABILITY IN THIS SECTION 3.2 AND IN THE OTHER PROVISIONS OF THIS AGREEMENT AND THE ALLOCATION OF RISK HEREIN ARE AN ESSENTIAL ELEMENT OF THE BARGAIN BETWEEN THE PARTIES, WITHOUT WHICH AUTHORIZE.NET WOULD NOT HAVE ENTERED INTO THIS AGREEMENT.  \n     4. INDEMNIFICATION.  You shall indemnify, hold harmless and, at Authorize.Net’s request, defend Authorize.Net and its affiliates and their officers, directors, employees, and agents from and against any claim, suit or proceeding, and any associated  liabilities, costs, damages and expenses, including reasonable attorneys’ fees, that arise out of relate to: (i) Your Applications or the use or distribution thereof and Your use or distribution of the Software or the Documentation (or any portion thereof including Open Source Software), including, but not limited to, any allegation that any such Application or any such use or distribution infringes, misappropriates or otherwise violates any intellectual property (including, without limitation, copyright, patent, and trademark), privacy, publicity or other rights of any third party, or has caused the death or injury of any person or damage to any property; (ii) Your alleged or actual breach of this Agreement; (iii) the alleged or actual breach of this Agreement by any party to whom you have provided Your Applications, the Software or the Documentation or  (iii) Your alleged or actual violation of or non-compliance with any applicable laws, legislation, policies, rules, regulations or governmental requirements (including, without limitation, any laws, legislation, policies, rules, regulations or governmental requirements related to privacy and data collection).\n     5. TERMINATION.  This Agreement and the licenses granted to you herein are effective until terminated.  Authorize.Net may terminate this Agreement and the licenses granted to You at any time.  Upon termination of this Agreement, You shall cease all use of the Software and the Documentation, return to Authorize.Net or destroy all copies of the Software and Documentation and related materials in Your possession, and so certify to Authorize.Net.  Except for the license to You granted herein, the terms of this Agreement shall survive termination.\n     6. CONFIDENTIAL INFORMATION\n     a. You hereby agree (i) to hold Authorize.Net’s Confidential Information in strict confidence and to take reasonable precautions to protect such Confidential Information (including, without limitation, all precautions You employ with respect to Your own confidential materials), (ii) not to divulge any such Confidential Information to any third person; (iii) not to make any use whatsoever at any time of such Confidential Information except as strictly licensed hereunder, (iv) not to remove or export from the United States or re-export any such Confidential Information or any direct product thereof, except in compliance with, and with all licenses and approvals required under applicable U.S. and foreign export laws and regulations, including, without limitation, those of the U.S. Department of Commerce. \n     b.  “Confidential Information” shall mean any data or information, oral or written, treated as confidential that relates to Authorize.Net’s past, present, or future research, development or business activities, including without limitation any unannounced products and services, any information relating to services, developments, inventions, processes, plans, financial information, customer data, revenue, transaction volume, forecasts, projections, application programming interfaces, Software and Documentation.  \n     7. General Terms\n     7.1 Law.  This Agreement and all matters arising out of or relating to this Agreement shall be governed by the internal laws of the State of California without giving effect to any choice of law rule. This Agreement shall not be governed by the United Nations Convention on Contracts for the International Sales of Goods, the application of which is expressly excluded.  In the event of any controversy, claim or dispute between the parties arising out of or relating to this Agreement, such controversy, claim or dispute shall be resolved in the state or federal courts in Santa Clara County, California, and the parties hereby irrevocably consent to the jurisdiction and venue of such courts.  \n     7.2 Logo License. Authorize.Net hereby grants to You the right to use, reproduce, publish, perform and display Authorize.Net logo solely in accordance with the current Authorize.Net brand guidelines.\n     7.3 Severability and Waiver.  If any provision of this Agreement is held to be illegal, invalid or otherwise unenforceable, such provision shall be enforced to the extent possible consistent with the stated intention of the parties, or, if incapable of such enforcement, shall be deemed to be severed and deleted from this Agreement, while the remainder of this Agreement shall continue in full force and effect.  The waiver by either party of any default or breach of this Agreement shall not constitute a waiver of any other or subsequent default or breach.  \n     7.4 No Assignment.  You may not assign, sell, transfer, delegate or otherwise dispose of, whether voluntarily or involuntarily, by operation of law or otherwise, this Agreement or any rights or obligations under this Agreement without the prior written consent of Authorize.Net, which may be withheld in Authorize.Net’s sole discretion.  Any purported assignment, transfer or delegation by You shall be null and void.  Subject to the foregoing, this Agreement shall be binding upon and shall inure to the benefit of the parties and their respective successors and assigns.\n     7.5 Government Rights.  If You (or any person or entity to whom you provide the Software or Documentation) are an agency or instrumentality of the United States Government, the Software and Documentation are “commercial computer software” and “commercial computer software documentation,” and pursuant to FAR 12.212 or DFARS 227.7202, and their successors, as applicable, use, reproduction and disclosure of the Software and Documentation are governed by the terms of this Agreement. \n     7.6 Export Administration.  You shall comply fully with all relevant export laws and regulations of the United States, including, without limitation, the U.S. Export Administration Regulations (collectively “Export Controls”). Without limiting the generality of the foregoing, You shall not, and You shall require Your representatives not to, export, direct or transfer the Software or the Documentation, or any direct product thereof, to any destination, person or entity restricted or prohibited by the Export Controls.  \n     7.7 Privacy. In order to continually innovate and improve the Software, Licensee understands and agrees that Authorize.Net may collect certain usage statistics including but not limited to a unique identifier, associated IP address, version number of software, and information on which tools and/or services in the Software are being used and how they are being used.\n     7.8 Entire Agreement; Amendments.  This Agreement constitutes the entire agreement between the parties and supersedes all prior or contemporaneous agreements or representations, written or oral, concerning the subject matter of this Agreement.  Authorize.Net may make changes to this Agreement, Software or Documentation in its sole discretion.  When these changes are made, Authorize.Net will make a new version of the Agreement, Software or Documentation available on the website where the Software is available. This Agreement may not be modified or amended by You except in a writing signed by a duly authorized representative of each party.  You acknowledge and agree that\nAuthorize.Net has not made any representations, warranties or agreements of any kind, except as expressly set forth herein.\n\n\nAuthorize.Net Software Development Kit (SDK) License Agreement\t\t\nv. February 1, 2017\n1\n"
  },
  {
    "path": "LocalTestRun.testrunconfig",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<TestSettings name=\"Local Test Run\" id=\"b519da70-f2b9-42e9-8322-f70b4aedb1c0\" xmlns=\"http://microsoft.com/schemas/VisualStudio/TeamTest/2010\">\r\n  <Description>This is a default test run configuration for a local test run.</Description>\r\n</TestSettings>\r\n"
  },
  {
    "path": "MIGRATING.md",
    "content": "# Migrating from Legacy Authorize.Net Classes\n\nAuthorize.Net no longer supports several legacy classes, including AIM, ARB and others listed below, as part of sdk-dotnet. If you are using any of these, we recommend that you update your code to use the new Authorize.Net API classes under (sdk-dotnet/Authorize.NET/Api).\n\n**For details on the deprecation and replacement of legacy Authorize.Net APIs, visit https://developer.authorize.net/api/upgrade_guide/.**\n\n## Full list of classes that are no longer supported\n| Class                               | New Feature                                                                                                                                                    | Sample Codes directory/repository                                                 |\n|-------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|\n| AIM (Authorize.NET/AIM)             | [PaymentTransactions](https://developer.authorize.net/api/reference/index.html#payment-transactions)                                                           | [sample-code-csharp/PaymentTransactions](https://github.com/AuthorizeNet/sample-code-csharp/tree/master/PaymentTransactions)    |\n| ARB (Authorize.NET/ARB)             | [RecurringBilling](https://developer.authorize.net/api/reference/index.html#recurring-billing)                                                                 | [sample-code-csharp/Recurring Billing](https://github.com/AuthorizeNet/sample-code-csharp/tree/master/RecurringBilling)          | \n| CIM (Authorize.NET/CIM)             | [CustomerProfiles](https://developer.authorize.net/api/reference/index.html#customer-profiles)                                                                 | [sample-code-csharp/CustomerProfiles](https://github.com/AuthorizeNet/sample-code-csharp/tree/master/CustomerProfiles)          |\n| SIM (Authorize.NET/SIM)             | [Accept Hosted](https://developer.authorize.net/content/developer/en_us/api/reference/features/accept_hosted.html)                                             | Not available                                                                                                                         |\n| Reporting\t(Authorize.NET/Reporting) | [TransactionReporting](https://developer.authorize.net/api/reference/index.html#transaction-reporting)                                                         | [sample-code-csharp/TransactionReporting](https://github.com/AuthorizeNet/sample-code-csharp/tree/master/TransactionReporting) |\n| CP (Authorize.NET/CP)             | [PaymentTransactions](https://developer.authorize.net/api/reference/index.html#payment-transactions)                                                           | [sample-code-csharp/PaymentTransactions](https://github.com/AuthorizeNet/sample-code-csharp/tree/master/PaymentTransactions)    |\n| DPM (Authorize.NET/DPM)             |[Accept.JS](https://developer.authorize.net/api/reference/features/acceptjs.html)                                                           | [Sample Accept Application](https://github.com/AuthorizeNet/accept-sample-app)    |\n\n## Example \n#### Sample new model code for (charge-credit-card)\n   ```Dotnet\nusing System;\nusing AuthorizeNet.Api.Controllers;\nusing AuthorizeNet.Api.Contracts.V1;\nusing AuthorizeNet.Api.Controllers.Bases;\n\nnamespace net.authorize.sample\n{\n    public class ChargeCreditCard\n    {\n        public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount)\n        {\n\n\t\t\t// Set the request to operate in either the sandbox or production environment\n\t\t\tApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = AuthorizeNet.Environment.SANDBOX;\n\n            // define the merchant information (authentication / transaction id)\n            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType()\n            {\n                name = ApiLoginID,\n                ItemElementName = ItemChoiceType.transactionKey,\n                Item = ApiTransactionKey,\n            };\n\n\t\t\t// define the CreditCard information\n            var creditCard = new creditCardType\n            {\n                cardNumber = \"4111111111111111\",\n                expirationDate = \"0828\",\n                cardCode = \"123\"\n            };\n\n\t\t\t// define the Billing address\n            var billingAddress = new customerAddressType\n            {\n                firstName = \"John\",\n                lastName = \"Doe\",\n                address = \"123 My St\",\n                city = \"OurTown\",\n                zip = \"98004\"\n            };\n\n            //standard api call to retrieve response\n            var paymentType = new paymentType { Item = creditCard };\n\n            // Add line Items\n            var lineItems = new lineItemType[2];\n            lineItems[0] = new lineItemType { itemId = \"1\", name = \"t-shirt\", quantity = 2, unitPrice = new Decimal(15.00) };\n            lineItems[1] = new lineItemType { itemId = \"2\", name = \"snowboard\", quantity = 1, unitPrice = new Decimal(450.00) };\n\n\t\t\t// Create the payment transaction object\n            var transactionRequest = new transactionRequestType\n            {\n                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),    \n\t\t\t\t// charge the card\n                amount = amount,\n                payment = paymentType,\n                billTo = billingAddress,\n                lineItems = lineItems\n            };\n            \n            var request = new createTransactionRequest { transactionRequest = transactionRequest };\n            \n            // instantiate the controller that will call the service\n            var controller = new createTransactionController(request);\n            controller.Execute();\n            \n            // get the response from the service (errors contained if any)\n            var response = controller.GetApiResponse();\n\t\t\t\n\t\t}\n\t}\n}\t\n```"
  },
  {
    "path": "NUnit-2.6.3/license.txt",
    "content": "Copyright  2002-2013 Charlie Poole\nCopyright  2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov\nCopyright  2000-2002 Philip A. Craig\n\nThis software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment (see the following) in the product documentation is required.\n\nPortions Copyright  2002-2013 Charlie Poole or Copyright  2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov or Copyright  2000-2002 Philip A. Craig\n\n2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source distribution.\n"
  },
  {
    "path": "README.md",
    "content": "# Authorize.Net .NET SDK\n\n[![Authorize.net DotNet CI](https://github.com/AuthorizeNet/sdk-dotnet/actions/workflows/dotnet-workflow.yml/badge.svg?branch=master)](https://github.com/AuthorizeNet/sdk-dotnet/actions/workflows/dotnet-workflow.yml)\n[![NuGet](https://badge.fury.io/nu/authorizenet.svg)](https://www.nuget.org/packages/authorizenet)\n\n\n## Requirements\n* .NET 4.6.1 or later\n* Microsoft&reg; Visual Studio 2017 or later\n* Nunit 2.7.1\n* An Authorize.Net account (see _Registration & Configuration_ section below)\n\n### Migrating from older versions  \n Since August 2018, the Authorize.Net API has been reorganized to be more merchant focused. AuthorizeNetAIM, AuthorizeNetARB, AuthorizeNetCIM, Reporting and AuthorizeNetSIM classes have all been deprecated in favor of `net\\authorize\\api`. To see the full list of mapping of new features corresponding to the deprecated features, see [MIGRATING.md](MIGRATING.md). \n\n### Contribution  \n  - If you need information or clarification about Authorize.Net features, create an issue with your question. You can also search the [Authorize.Net developer community](https://community.developer.authorize.net/) for discussions related to your question.  \n  - Before creating pull requests, read [the contributors guide](CONTRIBUTING.md). \n\n### TLS 1.2\nThe Authorize.Net APIs only support connections using the TLS 1.2 security protocol. Make sure to upgrade all required components to support TLS 1.2. Keep these components up to date to mitigate the risk of new security flaws.\n\n\n## Installation\nTo install the AuthorizeNet .NET SDK, run the following command in the Package Manager Console:\n\n`PM> Install-Package AuthorizeNet`\n\n## Registration & Configuration\nUse of this SDK and the Authorize.Net APIs requires having an account on the Authorize.Net system. You can find these details in the Settings section.\nIf you don't currently have a production Authorize.Net account, [sign up for a sandbox account](https://developer.authorize.net/sandbox/).\n\n### Authentication\nTo authenticate with the Authorize.Net API, use your account's API Login ID and Transaction Key. If you don't have these credentials, obtain them from the Merchant Interface.  For production accounts, the Merchant Interface is located at (https://account.authorize.net/); and for sandbox accounts, at (https://sandbox.authorize.net).\n\nAfter you have obtained your credentials, load them into the appropriate variables in your code. The below sample code shows how to set the credentials as part of the API request.\n\n#### To set your API credentials for an API request:\n```csharp\nApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType()\n{\n    name = \"YOUR_API_LOGIN_ID\",\n    ItemElementName = ItemChoiceType.transactionKey,\n    Item = \"YOUR_TRANSACTION_KEY\",\n};\n```\n\nNever include your API Login ID and Transaction Key directly in a file in a publically accessible portion of your website. As a best practice, define the API Login ID and Transaction Key in a constants file, and reference those constants in your code.\n\n### Switching between the sandbox environment and the production environment\nAuthorize.Net maintains a complete sandbox environment for testing and development purposes. The sandbox environment is an exact replica of our production environment, with simulated transaction authorization and settlement. By default, this SDK is configured to use the sandbox environment. To switch to the production environment, set the appropriate environment constant using ApiOperationBase `RunEnvironment` method.  For example:\n```csharp\n// For PRODUCTION use\nApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = AuthorizeNet.Environment.PRODUCTION;\n```\n\nAPI credentials are different for each environment, so be sure to switch to the appropriate credentials when switching environments.\n\n\n## SDK Usage Examples and Sample Code\nWhen using this SDK, downloading the Authorize.Net sample code repository is recommended.\n* [Authorize.Net C# Sample Code Repository (on GitHub)](https://github.com/AuthorizeNet/sample-code-csharp)\n\nThe repository contains comprehensive sample code for common uses of the Authorize.Net API.\n\nThe API Reference contains details and examples of the structure and formatting of the Authorize.Net API.\n* [Developer Center API Reference](http://developer.authorize.net/api/reference/index.html)\n\nUse the examples in the API Reference to determine which methods and information to include in an API request using this SDK.\n\n## Create a Chase Pay Transaction\n\nUse this method to authorize and capture a payment using a tokenized credit card number issued by Chase Pay. Chase Pay transactions are only available to merchants using the Paymentech processor.\n\nThe following information is required in the request:\n- **payment token**\n- **expiration date**\n- **cryptogram** received from the token provider\n- **tokenRequestorName**\n- **tokenRequestorId**\n- **tokenRequestorEci**\n\nWhen using the SDK to submit Chase Pay transactions, consider the following points:\n- `tokenRequesterName` must be populated with **`”CHASE_PAY”`**\n- `tokenRequestorId` must be populated with the **`Token Requestor ID`** provided by Chase Pay services for each transaction during consumer checkout\n- `tokenRequesterEci` must be populated with the **`ECI Indicator`** provided by Chase Pay services for each transaction during consumer checkout  \n\n\n## Building & Testing the SDK\n\n### Running the SDK Tests\nRun the tests against a stub backend by using the USELOCAL run configuration.\n\nUpdate app.config in the AuthorizeNetTest folder to run all the tests against your sandbox account.\n\n### Testing Guide\nFor additional help in testing your code, Authorize.Net maintains a [comprehensive testing guide](http://developer.authorize.net/hello_world/testing_guide/) that includes test credit card numbers to use and special triggers to generate certain responses from the sandbox environment.\n\n## Logging Sensitive Data\nA new sensitive data logger has been introduced with the Authorize.Net .NET SDK, which is an enhancement on the existing logging framework. \n\nThe logger uses `System.Diagnostics` namespace in .NET Framework. No external libraries need to be installed along with the application to use the logger. \n\nEnable the logger by providing the following configuration in the `app.config/web.config` files of your application. The log levels supported are `'Verbose','Information','Warning'` and `'Error'`.\n\nIf you have previously enabled logging in your application, configurations will need to be updated as below:\n```\n<configuration>\n  <system.diagnostics>\n    <sources>\n      <source name=\"AnetDotNetSdkTrace\"\n              switchName=\"sourceSwitch\"\n              switchType=\"System.Diagnostics.SourceSwitch\">\n        <listeners>\n          <add name=\"textListener\"\n              type=\"AuthorizeNet.Util.SensitiveDataTextLogger, AuthorizeNet\"\n              initializeData=\"logfile.log\">\n          </add>\n          <add name=\"consoleListener\"\n                        type=\"AuthorizeNet.Util.SensitiveDataConsoleLogger, AuthorizeNet\">\n          </add>          \n          <remove name=\"Default\" />\n        </listeners>\n      </source>\n    </sources>\n    <switches>\n      <add name=\"sourceSwitch\" value=\"Warning\"/>\n    </switches>\n  </system.diagnostics>\n</configuration>\n```\nAs of now, two types of listeners, viz. `TextListener` and `ConsoleListener` are supported with the logger. The corresponding sensitive listener types `AuthorizeNet.Util.SensitiveDataTextLogger` and `AuthorizeNet.Util.SensitiveDataConsoleLogger` mask the sensitive data before logging into log file and console respectively.\n\nThe sensitive fields that are masked during logging are:\n* Card Number\n* Card Code\n* Expiration Date\n* Transaction Key\n* Account Number\n* Name on Account\n\nThere is also a list of regular expressions which the sensitive logger uses to mask credit card numbers while logging. \n\nMore information on the regular expressions used during sensitive data logging [can be found here](https://github.com/AuthorizeNet/sdk-dotnet/blob/master/Authorize.NET/Util/SensitiveDataConfigType.cs).\n\nTo unmask sensitive data, use the default `TextWriterTraceListener` and `ConsoleTraceListener`.\n```\n<configuration>\n  <system.diagnostics>\n    <sources>\n      <source name=\"AnetDotNetSdkTrace\"\n              switchName=\"sourceSwitch\"\n              switchType=\"System.Diagnostics.SourceSwitch\">\n        <listeners>\n          <add name=\"textListener\"\n              type=\"System.Diagnostics.TextWriterTraceListener\"\n              initializeData=\"logFile.log\">\n          </add>\n          <add name=\"consoleListener\"\n                        type=\"System.Diagnostics.ConsoleTraceListener\">\n          </add>          \n          <remove name=\"Default\" />\n        </listeners>\n      </source>\n    </sources>\n    <switches>\n      <add name=\"sourceSwitch\" value=\"Warning\"/>\n    </switches>\n  </system.diagnostics>\n</configuration>\n```\n`AnetDotNetSdkTrace` should be used as the source name, as it is being used by the TraceSource inside logger framework code.\n\n### Transaction Hash Upgrade\nAuthorize.Net is phasing out the MD5 based `transHash` element in favor of the SHA-512 based `transHashSHA2`. The setting in the Merchant Interface which controlled the MD5 Hash option is no longer available, and the `transHash` element will stop returning values at a later date to be determined. For information on how to use `transHashSHA2`, see the [Transaction Hash Upgrade Guide](https://developer.authorize.net/support/hash_upgrade/).\n\n## License\nThis repository is distributed under a proprietary license. See the provided [`LICENSE.txt`](/LICENSE.txt) file.\n"
  },
  {
    "path": "scripts/EnumTemplate.cst",
    "content": "\n            foreach (var anEnum in Enum.GetValues(typeof(ENUMNAME)))\n            {\n                var aValue = anEnum.ToString();\n                ENUMNAME enumFromValue;\n                Assert.IsTrue(Enum.TryParse(aValue, out enumFromValue));\n                Assert.AreEqual(anEnum, enumFromValue);\n            }\n\t\t"
  },
  {
    "path": "scripts/generateControllersFromTemplate.cmd",
    "content": "@ECHO OFF\n\nCALL \"%~dp0\\validateCygwinBinaries.cmd\"\nIF \"1\"==\"%ERRORLEVEL%\" (\n    @ECHO Invalid or incomplete Cygwin installation. Install cygwin and its components viz.\n    @ECHO grep sed perl cut touch wget sort\n    EXIT /b 1\n)\nSET CYGWIN_EXE=%CYGWIN_HOME%\\bin\n\n@ECHO Starting %DATE%-%TIME%\n\nSET CYGWIN=NODOSFILEWARNING\n\nSET CDIR=%CD%\nSET SRCDIR=Authorize.NET\nSET GENFOLDER=Api\\Contracts\\v1\nSET CONTROLLERFOLDER=Api\\Controllers\n\nSET SRCLOG=%CD%\\log\\Sources\nSET CNTLOG=%CD%\\log\\Controllers\nIF EXIST \"%CD%\\log\" (\n    DEL /q/s \"%CD%\\log\\*.*\" > NUL\n) ELSE (\n    MD \"%CD%\\log\\\"\n)\n\nIF NOT EXIST \"%SRCDIR%\" (\n    @ECHO Unable to find \"%SRCDIR%\"\n    EXIT /b 1\n)\n@ECHO Identifying Requests/Responses to process from \"%SRCDIR%\"\nDIR /s %SRCDIR%\\%GENFOLDER%\\*.cs > %SRCLOG%0.log\npushd %SRCDIR%\\%GENFOLDER%\\\n\"%CYGWIN_EXE%\\grep.exe\" -i -e \"request *:\" -e \"response *:\" *.cs | \"%CYGWIN_EXE%\\grep.exe\" -i class > %SRCLOG%0.log\npopd\nDIR /s %SRCDIR%\\%CONTROLLERFOLDER%\\*Controller.cs > %CNTLOG%0.log\n\n@ECHO Cleaning up paths in Sources and Controllers\n\"%CYGWIN_EXE%\\cut.exe\" -f2- -d: %SRCLOG%0.log | \"%CYGWIN_EXE%\\cut.exe\" -c26- | \"%CYGWIN_EXE%\\cut.exe\" -d: -f1    | \"%CYGWIN_EXE%\\sort.exe\" -u > %SRCLOG%1.log\n\"%CYGWIN_EXE%\\cut.exe\" -c40- %CNTLOG%0.log    | \"%CYGWIN_EXE%\\sort.exe\" -u   | \"%CYGWIN_EXE%\\grep.exe\" -i \"\\.cs\" | \"%CYGWIN_EXE%\\cut.exe\" -d. -f1 | \"%CYGWIN_EXE%\\sort.exe\" -u > %CNTLOG%.log\n\n@ECHO Getting Unique Request/Responses\n\"%CYGWIN_EXE%\\grep.exe\" -i -e \"request *$\" -e \"response *$\" %SRCLOG%1.log > %SRCLOG%2.log\n\n@ECHO Identifying Object names\n\"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/Request *$//g;'  %SRCLOG%2.log\n\"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/Response *$//g;' %SRCLOG%2.log\n\"%CYGWIN_EXE%\\sort.exe\" -u %SRCLOG%2.log      > %SRCLOG%3.log\n\n@ECHO Fixing Controllers\n\"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/Controller *$//g;' %CNTLOG%.log\n\n@REM Create backup for later comparison\nCOPY %SRCLOG%3.log %SRCLOG%4.log >NUL\nCOPY %CNTLOG%.log  %CNTLOG%9.log >NUL\n\n@ECHO Removing ExistingControllers From Request/Response List\n@ECHO From File\nFOR /F %%X IN (%CNTLOG%.log) DO (\n    @ECHO Processing \"%%X\"\n    \"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/^\\b%%X\\b *$//g;' %SRCLOG%3.log\n)\n\n@ECHO From BlackList\nFOR %%X IN (ANetApi Error Ids XXDoNotUseDummy) DO (\n    @ECHO Processing BlackList \"%%X\"\n    \"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/^\\b%%X\\b *$//g;' %SRCLOG%3.log\n)\n\n@ECHO Creating Final List of Request/Response to generate code\n\"%CYGWIN_EXE%\\sort.exe\" -u %SRCLOG%3.log   > %SRCLOG%.log\n\nFOR /F %%x IN (%SRCLOG%.log ) DO (\n    IF EXIST \"%SRCDIR%\\%CONTROLLERFOLDER%\\%%xController.cs\" (\n        @ECHO \"%SRCDIR%\\%CONTROLLERFOLDER%\\%%xController.cs\" exists, Creating New\n        COPY %SRCDIR%\\Api\\ControllerTemplate.cst   \"%SRCDIR%\\%CONTROLLERFOLDER%\\%%xController.new\"\n        \"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/APICONTROLLERNAME/%%x/g;' %SRCDIR%\\%CONTROLLERFOLDER%\\%%xController.new\n    ) ELSE (\n        @ECHO Generating Code for \"%SRCDIR%\\%CONTROLLERFOLDER%\\%%xController.cs\"\n        COPY %SRCDIR%\\Api\\ControllerTemplate.cst   \"%SRCDIR%\\%CONTROLLERFOLDER%\\%%xController.cs\"\n        \"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/APICONTROLLERNAME/%%x/g;' %SRCDIR%\\%CONTROLLERFOLDER%\\%%xController.cs\n    )\n)\n@REM Identify Obsolete Controllers\n@ECHO From Request/ResponseList\nFOR /F %%X IN (%SRCLOG%4.log) DO (\n    @ECHO Processing \"%%X\"\n    \"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/%%X *$//g;' %CNTLOG%9.log      \n)\n@ECHO Following are Obsolete Controllers\n\"%CYGWIN_EXE%\\sort.exe\" -u %CNTLOG%9.log\nDEL /s *.bak 1>NUL 2>&1\n\nENDLOCAL\n     \n@ECHO FINISHED %DATE%-%TIME%\n"
  },
  {
    "path": "scripts/generateObjectsFromXsd.cmd",
    "content": "@ECHO OFF\n\nCALL \"%~dp0\\validateCygwinBinaries.cmd\"\nIF \"1\"==\"%ERRORLEVEL%\" (\n    @ECHO Invalid or incomplete Cygwin installation. Install cygwin and its components viz.\n    @ECHO grep sed perl cut touch wget sort\n    EXIT /b 1\n)\nSET CYGWIN_EXE=%CYGWIN_HOME%\\bin\n\nwhere xsd.exe > NUL 2>&1\nIF \"1\"==\"%ERRORLEVEL%\" (\n    @ECHO Unable to find xsd.exe in the path. Locate it and add it directory to the path\n    @ECHO Usually it is found under Microsoft SDK viz. \"C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\Bin\\\"\n    EXIT /b 1\n)\n\nSETLOCAL\n@ECHO Starting %DATE%-%TIME%\n\nSET LOCALXSD=\"%~dp0\\AnetApiSchema.xsd\"\n@ECHO Local XSD path:\n@ECHO %LOCALXSD%\nREM SET LOCALWSDL=%TEMP%\\AnetApiSchema.wsdl\nREM SET selection=N\nREM CHOICE /C YN  /T 10 /D N /M \"Fetch and update Schema/WSDL file from remote server?\"\nREM IF \"%ERRORLEVEL%\"==\"1\" (\n    REM @ECHO Fetching Schema/WSDL files \n    REM SET %ERRORLEVEL%=    \n    REM CALL \"%~dp0\\getXsdWsdl.cmd\" %LOCALXSD% %LOCALWSDL%\n    REM SET ERRORCODE=%ERRORLEVEL%\n    REM @ECHO GetXsdWsdl Call Exit Code:%ERRORCODE%\n    REM IF NOT \"%ERRORLEVEL%\"==\"0\" (\n       REM @ECHO Error fetching source files\n       REM @ECHO ##### ***** $$$$$ CHECK FOR ERROR $$$$$ ***** #####\n       REM REM EXIT /b 1\n    REM )\nREM ) ELSE (\n    REM @ECHO Schema/WSDL files have not been updated!\nREM )\n\nSET XSDSRCDIR=Authorize.NET\\Api\\Contracts\\V1\nSET XSDPACKAGE=AuthorizeNet.API.FrontEnd.v1\nSET XSDPACKAGE=AuthorizeNet.Api.Contracts.V1\n\nSET WSDLSRCDIR=wsdl\nSET WSDLPACKAGE=ANetApiFE.ANetApiWS\n\nIF NOT EXIST \"%LOCALXSD%\" (\n    @ECHO Unable to find \"%LOCALXSD%\"\n    EXIT /b 1\n)\nREM IF NOT EXIST \"%LOCALWSDL%\" (\n    REM @ECHO Unable to find \"%LOCALWSDL%\"\n    REM @REM EXIT /b 1\nREM )\n@ECHO Validating target folder \"%XSDSRCDIR%\"\nIF NOT EXIST %XSDSRCDIR% (\n    MD \"%XSDSRCDIR%\"\n)\n@ECHO Validating target folder \"%WSDLSRCDIR%\"\nIF NOT EXIST %WSDLSRCDIR% (\n    MD \"%WSDLSRCDIR%\"\n)\n\n@ECHO Generating sources from Schema: %XSD% in folder \"%XSDSRCDIR%\"\n@ECHO: Command Line: xsd.exe  /c /f /l:cs /edb /eld /out:\"%XSDSRCDIR%\" /n:\"%XSDPACKAGE%\" \"%LOCALXSD%\"\nxsd.exe  /c /f /l:cs /edb /eld /out:\"%XSDSRCDIR%\" /n:\"%XSDPACKAGE%\" \"%LOCALXSD%\"\n@ECHO Renaming the generated file\nIF EXIST \"%XSDSRCDIR%\\AnetApiSchema.generated.cs\" (DEL /q \"%XSDSRCDIR%\\AnetApiSchema.generated.cs\")\nREN %XSDSRCDIR%\\AnetApiSchema.cs AnetApiSchema.generated.cs\n\n@ECHO Generating the proxy for old code\nxsd.exe  /c /f /l:cs /out:\"Authorize.NET\\Utility\" /n:\"AuthorizeNet.APICore\" \"%LOCALXSD%\"\n@ECHO Renaming the generated file\nIF EXIST \"Authorize.NET\\Utility\\AnetApiSchema.generated.cs\" (DEL /q \"Authorize.NET\\Utility\\AnetApiSchema.generated.cs\")\nREN Authorize.NET\\Utility\\AnetApiSchema.cs AnetApiSchema.generated.cs\n\nREM xsd.exe  /c /f /l:cs /edb /out:\"%XSDSRCDIR%\" /n:\"%XSDPACKAGE%\" \"%LOCALXSD%\"\nREM DATASET \nREM xsd.exe  /f /l:cs /d /edb /eld /out:\"%XSDSRCDIR%\" /n:\"%XSDPACKAGE%\" \"%LOCALXSD%\"\n\nREM @ECHO Generating source from WSDL: %WSDL% in folder \"%WSDLSRCDIR%\"\nREM wsdl.exe    /f /l:cs      /out:\"%WSDLSRCDIR%\" /n:\"%WSDLPACKAGE%\" \"%LOCALWSDL%\"\nREM wsdl.exe /nologo /order /l:cs /out:\"%WSDLSRCDIR%\" /n:\"%WSDLPACKAGE%\" \"%LOCALWSDL%\"\n@REM           wsdl.exe /f /nologo /order /l:cs /out:\"%WSDLSRCDIR%\" /n:\"%WSDLPACKAGE%\" \"%LOCALWSDL%\"\n\nENDLOCAL\n@ECHO FINISHED %DATE%-%TIME%\n"
  },
  {
    "path": "scripts/generateRequestFactorySpecified.cmd",
    "content": "@rem Creating RequestFactoryWithSpecified file which handles the elements having minoccurs=0 in XSD\n@rem It generates specified property for such element and sets them true if the required condition is met\n@ECHO OFF\nCALL \"%~dp0\\validateCygwinBinaries.cmd\"\nIF \"1\"==\"%ERRORLEVEL%\" (\n    @ECHO Invalid or incomplete Cygwin installation. Install cygwin and its components viz.\n    @ECHO grep sed perl cut touch wget sort\n    EXIT /b 1\n)\nSET CYGWIN_EXE=%CYGWIN_HOME%\\bin\nSET OUTDIR=%Temp%\nSET SRCDIR=Authorize.NET\\Api\\Contracts\\V1\nSET OUTFILE=%SRCDIR%\\RequestFactoryWithSpecified.generated.org\nSET INFILE=%SRCDIR%\\AnetApiSchema.generated.cs\nSET BACKUPFILE=%OUTDIR%\\RequestFactoryWithSpecified_Backup.generated.org\nSET SPECIFIEDFILE=%OUTDIR%\\splst.txt \n\nIF NOT EXIST \"%CYGWIN_EXE%\" (\n\t@ECHO \"%CYGWIN_EXE%\" DOES NOT EXIST\n\tEXIT /B 1\n)\nIF NOT EXIST \"%SRCDIR%\" (\n\t@ECHO \"%SRCDIR%\" Does Not exist\n\tEXIT /B 1\n)\n\nIF EXIST \"%OUTFILE%\" (\n\t\"%CYGWIN_EXE%\\rm.exe\" %OUTFILE%\n)\n\n@ECHO ### Generating request factory specified\n@ECHO namespace AuthorizeNet.Api.Contracts.V1 > %OUTFILE%\n@ECHO { >> %OUTFILE%\n@rem replacing using System; with HTHT### because it is causing problem for one the regular expression\n@ECHO   HTHT### >> %OUTFILE%\n\n@ECHO #pragma warning disable 169 >> %OUTFILE%\n@ECHO #pragma warning disable 1591 >> %OUTFILE%\n@ECHO // ReSharper disable InconsistentNaming >> %OUTFILE%\n@ECHO   /// ^<summary^> >> %OUTFILE%\n@ECHO   /// Special case handlers >> %OUTFILE%\n@ECHO   /// >> %OUTFILE%\n@ECHO   /// validated on ????/??/?? for objects listed at the end >> %OUTFILE%\n@ECHO   /// should be validated after each update of AnetApiSchema.cs >> %OUTFILE%\n@ECHO   /// for fields/properties that are minOccurs=\"0\" since xsd.exe >> %OUTFILE%\n@rem replacing the word specified with WWWW because further in script we are greping all the parameters having specified word - this was creating a problem\n@ECHO   /// generates \"WWWW\" property for such fields and requires >> %OUTFILE%\n@ECHO   /// special handling to set them seamlessly >> %OUTFILE%\n@ECHO   /// Make sure to update the respective controllers to call the respective request hand >> %OUTFILE%\n@ECHO   ///  >> %OUTFILE%\n@ECHO   /// ^</summary^> >> %OUTFILE%\n@ECHO     public static class RequestFactoryWithSpecified >> %OUTFILE%\n@ECHO     {>> %OUTFILE%\n\n\"%CYGWIN_EXE%\\grep.exe\" -i \"class\\|specified\\|typeof\\|type\\|public\" %INFILE%  | \"%CYGWIN_EXE%\\grep.exe\" -i -v \"string\\|event\" >> %OUTFILE% \n\nrem creating a back up file\n\"%CYGWIN_EXE%\\cp.exe\" -f %OUTFILE% %BACKUPFILE%\n\n@rem replacing public partial class with public static void\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/public partial class/        }\\n        }\\n        public static void/g' %OUTFILE%\n\n@ECHO ### Deleting unwanted lines from file - may take sometime \n@rem remove everything after colon public partial class merchantAuthenticationType : object, System.ComponentModel.INotifyPropertyChanged {\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/:.*/\\n        {\\n            if(null != argument) \\n            {\\n/g if /: object/' %OUTFILE%\n\n@rem remove everything after colon  public partial class authenticateTestRequest : ANetApiRequest  \n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/:.*/\\n        {\\n            if(null != argument) \\n            {\\n/g if /: ANetApi/' %OUTFILE%\n\n@ rem remove \"public enum bankAccountTypeEnum\"\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/public enum.*//g' %OUTFILE%\n\n@ rem remove [\"System.Xml.Serialization.XmlTypeAttribute(Namespace=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\")]\"\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/^\\[System.Xml.Serialization.XmlTypeAttribute.*$//g' %OUTFILE%\n\n@ rem remove \"[System.Xml.Serialization.XmlIncludeAttribute(typeof(creditCardType))]\"\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/^\\[System.Xml.Serialization.XmlIncludeAttribute.*$//g' %OUTFILE%\n\n@rem remove before 'typeof' word \"[System.Xml.Serialization.XmlElementAttribute(\"bankAccount\", typeof(bankAccountType))]\"\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/^\\[System.Xml.Serialization.XmlElementAttribute.*typeof\\(/                /g' %OUTFILE%\n\n@rem remove replacing the last three characters ))] in above expression with \"(argument)\"\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/\\)\\)\\]/ABCargumentXXX;/g' %OUTFILE%\n\n@ rem remove  \"[System.Xml.Serialization.XmlElementAttribute(DataType=\"date\")]\"\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/^\\[System.Xml.Serialization.XmlElementAttribute.*$//g' %OUTFILE%\n\n@ rem remove  \"[System.Xml.Serialization.XmlAttributeAttribute(DataType\"\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/^\\[System.Xml.Serialization.XmlAttributeAttribute.*$//g' %OUTFILE%\n\n@rem remove the line containing enum at the end of the word accountTypeEnum\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/([A-Za-z0-9]*.Enum.*)$//g if !/public static/' %OUTFILE%\n\n@rem remove the line containing enum at the end of the word ItemChoiceType\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/(ItemChoiceType.*)$//g' %OUTFILE%\n@rem replace the curly braces \"public partial class emailSettingsType : ArrayOfSetting {\" with \"public partial class emailSettingsType : ArrayOfSetting ABCargumentXXX\"\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/{/ABCargumentXXX;/g if /:/' %OUTFILE%\n\n@rem replacing { in \"public static void ABCargumentXX {\" if (null != argument)\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/:/\\n        {\\n            if(null != argument) \\n            {\\n        /g' %OUTFILE%\n\n\n@rem removing public object from \"public object Item;\"\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/^ *public object.*//g' %OUTFILE%\n\n@rem removing all datatypes\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/^ *public bool//g' %OUTFILE%\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/^ *public int.*;//g' %OUTFILE%\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/^ *public decimal.*;//g' %OUTFILE%\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/^ *public short.*;//g' %OUTFILE%\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/^ *public System.DateTime.*;//g' %OUTFILE%\n\n@rem removing public keyword anywhere in file except the lines containing \"public static ...\"\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/^ *public //g if ! /public static /' %OUTFILE%\n\n@rem trying to tokenize \"public messagesTypeMessage[] message;\"\n\"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/^ *([A-Za-z0-9]*)\\[\\] *([A-Za-z0-9]*);/                if(null != argument.$2){ foreach( var value in argument.$2) { $1(value);} } /g' \"%OUTFILE%\"\n\n@rem grep all the lines having specified word\n\"%CYGWIN_EXE%\\grep.exe\" -i \"Specified\" %OUTFILE% | \"%CYGWIN_EXE%\\grep.exe\" -v \"class\" | \"%CYGWIN_EXE%\\sort.exe\" -u > %SPECIFIEDFILE% \n@rem removing specified word\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/Specified;*//g' %SPECIFIEDFILE%\n\n@ECHO ### Processing function name - Creating functions\n@rem replacing \"public static void ARBGetSubscriptionListRequest\" with \"XYZ ARBGetSubscriptionListRequest ABC ARBGetSubscriptionListRequest argument XXX\"\n\"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/^ *public *static *void *([A-Za-z0-9]*)/XYZ $1ABC$1 argumentXXX/g' %OUTFILE% \n\n@ECHO ### Processing Specified List - Adding if block also may take time\nFOR /f %%i IN ( %SPECIFIEDFILE%) DO (\n\t@rem @ECHO %%i\n\t\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/ ^ *%%i;//g if ! /specified/' %OUTFILE%\n\t\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/^ %%iSpecified;/                ifABCargument.%%iXXX { argument.%%iSpecified123=true;}/g if /%%iSpecified/' %OUTFILE%\n)\n \n@rem replace xyz in \"XYZ paymentMaskedType ABCpaymentMaskedType argumentXXX\" with public static void\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/XYZ/        public static void/g' %OUTFILE%\n@rem replace ABC with (\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/ABC/(/g' %OUTFILE%\n@rem replace XXX with )\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/XXX/)/g' %OUTFILE%\n@rem remove 123 from \"argument.taxExemptSpecified123=true; \" \n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/123//g if /Specified/' %OUTFILE%\n\n@rem replacing the string of type \"customerPaymentProfileType paymentProfile;\" to \"customerPaymentProfileType(argument.paymentProfile);\"\n\"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/^([A-Za-z0-9]*) ([A-Za-z0-9]*);/                $1(argument.$2);/g' \"%OUTFILE%\"\n\n@rem removing string like this \"validationModeEnum\"\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/^[a-zA-Z]*$//g' %OUTFILE%\n\n\n@ECHO             }>> %OUTFILE%\n@ECHO         }>> %OUTFILE%\n@ECHO     } >> %OUTFILE%\n\n@ECHO // ReSharper restore InconsistentNaming >> %OUTFILE%\n@ECHO #pragma warning restore 1591 >> %OUTFILE%\n@ECHO #pragma warning restore 169 >> %OUTFILE%\n@ECHO } >> %OUTFILE%\n@ECHO /* >> %OUTFILE%\n@ECHO Requests >> %OUTFILE%\n\n@ECHO ARBCreateSubscriptionRequest  >> %OUTFILE%\n@ECHO ARBUpdateSubscriptionRequest  >> %OUTFILE%\n@ECHO createCustomerPaymentProfileRequest  >> %OUTFILE%\n@ECHO createCustomerProfileRequest  >> %OUTFILE%\n@ECHO createCustomerProfileTransactionRequest  >> %OUTFILE%\n@ECHO createTransactionRequest  >> %OUTFILE%\n@ECHO getSettledBatchListRequest  >> %OUTFILE%\n@ECHO mobileDeviceRegistrationRequest  >> %OUTFILE%\n@ECHO updateCustomerPaymentProfileRequest  >> %OUTFILE%\n@ECHO XXDoNotUseDummyRequest  >> %OUTFILE%\n@ECHO  >> %OUTFILE%\n@ECHO  */ >> %OUTFILE%\n@ECHO /* >> %OUTFILE%\n@ECHO Objects >> %OUTFILE%\n@ECHO   >> %OUTFILE%\n@ECHO ARBSubscriptionType  >> %OUTFILE%\n@ECHO bankAccountMaskedType  >> %OUTFILE%\n@ECHO bankAccountType  >> %OUTFILE%\n@ECHO batchDetailsType  >> %OUTFILE%\n@ECHO batchStatisticType  >> %OUTFILE%\n@ECHO customerDataType  >> %OUTFILE%\n@ECHO customerPaymentProfileBaseType >> %OUTFILE% \n@ECHO customerPaymentProfileExType  >> %OUTFILE%\n@ECHO customerPaymentProfileMaskedType  >> %OUTFILE%\n@ECHO customerPaymentProfileType  >> %OUTFILE%\n@ECHO customerProfileMaskedType  >> %OUTFILE%\n@ECHO customerProfileType  >> %OUTFILE%\n@ECHO customerType  >> %OUTFILE%\n@ECHO lineItemType  >> %OUTFILE%\n@ECHO mobileDeviceType  >> %OUTFILE%\n@ECHO paymentMaskedType  >> %OUTFILE%\n@ECHO paymentScheduleType  >> %OUTFILE%\n@ECHO paymentSimpleType  >> %OUTFILE%\n@ECHO paymentType  >> %OUTFILE%\n@ECHO profileTransactionType  >> %OUTFILE%\n@ECHO profileTransAmountType  >> %OUTFILE%\n@ECHO profileTransAuthCaptureType  >> %OUTFILE%\n@ECHO profileTransAuthOnlyType  >> %OUTFILE%\n@ECHO profileTransCaptureOnlyType  >> %OUTFILE%\n@ECHO profileTransOrderType  >> %OUTFILE%\n@ECHO profileTransPriorAuthCaptureType  >> %OUTFILE%\n@ECHO profileTransRefundType  >> %OUTFILE%\n@ECHO transactionDetailsType  >> %OUTFILE%\n@ECHO transactionRequestType  >> %OUTFILE%\n@ECHO transactionSummaryType  >> %OUTFILE%\n@ECHO  >> %OUTFILE%\n@ECHO  */ >> %OUTFILE%\n\n@rem command to remove blank lines in file\n\"%CYGWIN_EXE%\\perl.exe\" -i -n -e \"print if /\\S/\" %OUTFILE%\n@rem command to replace WWWW to specified\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/WWWW/specified/g' %OUTFILE%\n@rem command to replace HTHT### to using System;\n\"%CYGWIN_EXE%\\perl.exe\" -p -i -e 's/HTHT###/using System;/g' %OUTFILE%\n\n@rem deleting the .bak file created by perl command\ndel /S /Q *.bak > NUL\n@ECHO The RequestFactoryWithSpecified file is generated @location: \"%OUTFILE%\"\n \n@ECHO ************************************************************************\n@ECHO Next Steps: \n@ECHO 1. Compare the generated file with the previous version of file on Github (.org)\n@ECHO 2. Run the diff on both the files and apply the differences in RequestFactoryWithSpecified.cs file.\n@ECHO 3. Commit the new .org file and RequestFactoryWithSpecified.cs file on Github.\n@ECHO ************************************************************************\nEXIT /B 0\n@REM EOF!\n\n"
  },
  {
    "path": "scripts/generateTestControllersFromTemplate.cmd",
    "content": "@ECHO OFF\n\nCALL \"%~dp0\\validateCygwinBinaries.cmd\"\nIF \"1\"==\"%ERRORLEVEL%\" (\n    @ECHO Invalid or incomplete Cygwin installation. Install cygwin and its components viz.\n    @ECHO grep sed perl cut touch wget sort\n    EXIT /b 1\n)\nSET CYGWIN_EXE=%CYGWIN_HOME%\\bin\n\n@ECHO Starting %DATE%-%TIME%\n\nSET CYGWIN=NODOSFILEWARNING \n\nSET CDIR=%CD%\nSET SRCDIR=.\nSET GENFOLDER=Authorize.NET\\Api\\Contracts\\V1\nSET TESTDIR=.\nSET CONTROLLERFOLDER=AuthorizeNETTest\\Api\\Controllers\\MockTest\n\nSET SRCLOG=%CD%\\log\\TestSources\nSET CNTLOG=%CD%\\log\\TestControllers\nIF EXIST \"%CD%\\log\" (\n    DEL /q/s \"%CD%\\log\\*.*\" > NUL\n) ELSE (\n    MD \"%CD%\\log\\\"\n)\n\nIF NOT EXIST \"%SRCDIR%\" (\n    @ECHO Unable to find \"%SRCDIR%\"\n    EXIT /b 1\n)\n@ECHO Identifying Requests/Responses to process from \"%SRCDIR%\"\nDIR /s %SRCDIR%\\%GENFOLDER%\\AnetApiSchema.generated.cs > %SRCLOG%0.log\npushd %SRCDIR%\\%GENFOLDER%\\\n\"%CYGWIN_EXE%\\grep.exe\" -i -e \"request *:\" -e \"response *:\" *.cs | \"%CYGWIN_EXE%\\grep.exe\" -i class > %SRCLOG%0.log \npopd\nDIR /s %TESTDIR%\\%CONTROLLERFOLDER%\\*ControllerTest.cs > %CNTLOG%0.log\n\n@ECHO Cleaning up paths in Sources and Controllers\n\"%CYGWIN_EXE%\\cut.exe\" -c53- %SRCLOG%0.log  | \"%CYGWIN_EXE%\\cut.exe\" -d: -f1 | \"%CYGWIN_EXE%\\sort.exe\" -u  > %SRCLOG%1.log \n\"%CYGWIN_EXE%\\cut.exe\" -c40- %CNTLOG%0.log  | \"%CYGWIN_EXE%\\sort.exe\" -u     | \"%CYGWIN_EXE%\\grep.exe\" -i \"\\.cs\" | \"%CYGWIN_EXE%\\cut.exe\" -d. -f1 | \"%CYGWIN_EXE%\\sort.exe\" -u > %CNTLOG%.log \n\n@ECHO Getting Unique Request/Responses\n\"%CYGWIN_EXE%\\grep.exe\" -i -e \"request *$\" -e \"response *$\" %SRCLOG%1.log > %SRCLOG%2.log \n\n@ECHO Identifying Object names\n\"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/Request *$//g;'  %SRCLOG%2.log  \n\"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/Response *$//g;' %SRCLOG%2.log  \n\"%CYGWIN_EXE%\\sort.exe\" -u %SRCLOG%2.log      > %SRCLOG%3.log  \n\n@ECHO Fixing Controllers\n\"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/ControllerTest *$//g;' %CNTLOG%.log \n@REM Create backup for later comparison\nCOPY %SRCLOG%3.log %SRCLOG%4.log >NUL\nCOPY %CNTLOG%.log  %CNTLOG%9.log >NUL\n\n@ECHO Removing ExistingControllers From Request/Response List\n@ECHO From File\nFOR /F %%X IN (%CNTLOG%.log) DO (\n    @ECHO Processing \"%%X\"\n    \"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/^\\b%%X\\b *$//g;' %SRCLOG%3.log\n)\n\n@ECHO From BlackList\nFOR %%X IN (ANetApi Error Ids XXDoNotUseDummy) DO (\n    @ECHO Processing BlackList \"%%X\"\n    \"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/^\\b%%X\\b *$//g;' %SRCLOG%3.log\n)\n\n@ECHO Creating Final List of Request/Response to generate code\n\"%CYGWIN_EXE%\\sort.exe\" -u %SRCLOG%3.log   > %SRCLOG%.log  \n\nFOR /F %%x IN (%SRCLOG%.log ) DO (\n    IF EXIST \"%SRCDIR%\\%CONTROLLERFOLDER%\\%%xControllerTest.cs\" (\n        @ECHO \"%SRCDIR%\\%CONTROLLERFOLDER%\\%%xControllerTest.cs\" exists, Creating New \n        COPY AuthorizeNETtest\\Api\\ControllerTemplateTest.cst  \"%SRCDIR%\\%CONTROLLERFOLDER%\\%%xControllerTest.new\"\n        \"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/APICONTROLLERNAME/%%x/g;'            %SRCDIR%\\%CONTROLLERFOLDER%\\%%xControllerTest.new \n    ) ELSE (\n        @ECHO Generating Code for \"%SRCDIR%\\%CONTROLLERFOLDER%\\%%xControllerTest.cs\"\n        COPY AuthorizeNETtest\\Api\\ControllerTemplateTest.cst  \"%SRCDIR%\\%CONTROLLERFOLDER%\\%%xControllerTest.cs\"\n        \"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/APICONTROLLERNAME/%%x/g;'            %SRCDIR%\\%CONTROLLERFOLDER%\\%%xControllerTest.cs \n    )\n)\n@REM Identify Obsolete Controllers\n@ECHO From Request/ResponseList\nFOR /F %%X IN (%SRCLOG%4.log) DO (\n    @ECHO Processing \"%%X\"\n    \"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/%%X *$//g;' %CNTLOG%9.log      \n)\n@ECHO Following are Obsolete Controllers\n\"%CYGWIN_EXE%\\sort.exe\" -u %CNTLOG%9.log\nDEL /s *.bak 1>NUL 2>&1\n     \nENDLOCAL\n     \n@ECHO FINISHED %DATE%-%TIME%\n"
  },
  {
    "path": "scripts/generateTestForEnums.cmd",
    "content": "@ECHO OFF\n\nCALL \"%~dp0\\validateCygwinBinaries.cmd\"\nIF \"1\"==\"%ERRORLEVEL%\" (\n    @ECHO Invalid or incomplete Cygwin installation. Install cygwin and its components viz.\n    @ECHO grep sed perl cut touch wget sort\n    EXIT /b 1\n)\nSET CYGWIN_EXE=%CYGWIN_HOME%\\bin\n\n@ECHO Generating enum tests\nSET SRCDIR=Authorize.NET\\Api\\Contracts\\V1\nIF NOT EXIST \"%SRCDIR%\" (\n    @ECHO \"%SRCDIR%\" Does not exist\n    EXIT /b 1\n)\nSET CYGWIN=NODOSFILEWARNING\nSET OUTFILE=%TEMP%\\AllGeneratedEnumTest.cs\nSET TEMPLATE=%CD%\\scripts\\EnumTemplate.cst\nPUSHD \"%SRCDIR%\"\n\"%CYGWIN_EXE%\\grep.exe\" -i \"public enum\" AnetApiSchema.generated.cs | \"%CYGWIN_EXE%\\cut.exe\" -c17- | \"%CYGWIN_EXE%\\cut.exe\" -f1 -d\" \" > %TEMP%\\enum.lst\n\n@ECHO.> \"%OUTFILE%\"\n@ECHO         //Generated by cs-enum-test on %date%-%time% >> \"%OUTFILE%\"\n@ECHO         [Test] >> \"%OUTFILE%\"\n@ECHO         public void AllEnumTest() >> \"%OUTFILE%\"\n@ECHO         {>> \"%OUTFILE%\"\n@ECHO.\n@ECHO.\n\nFOR /f %%x IN ( %TEMP%\\enum.lst) DO (\n    @ECHO Processing %%x;\n    COPY %TEMPLATE% %TEMP%\\%%x.cs 1>NUL\n    \"%CYGWIN_EXE%\\perl.exe\" -pi -w -e 's/ENUMNAME/%%x/g;' %TEMP%\\%%x.cs 2>NUL\n    TYPE %TEMP%\\%%x.cs >> \"%OUTFILE%\"\n)\n@ECHO         } >> \"%OUTFILE%\"\n@ECHO.>> \"%OUTFILE%\"\nPOPD\n@ECHO.\n@ECHO.\n@ECHO The generated test is in \"%OUTFILE%\"\n"
  },
  {
    "path": "scripts/getXsdWsdl.cmd",
    "content": "@ECHO OFF\nCALL \"%~dp0\\validateCygwinBinaries.cmd\"\nIF \"1\"==\"%ERRORLEVEL%\" (\n    @ECHO Invalid or incomplete Cygwin installation. Install cygwin and its components viz.\n    @ECHO grep sed perl cut touch wget sort\n    EXIT /b 1\n)\nSET CYGWIN_EXE=%CYGWIN_HOME%\\bin\n\nSETLOCAL\n@ECHO Starting %DATE%-%TIME%\n\nIF \"%1\"==\"\" (\n    @ECHO Invalid Local XSD \"%1\"\n    EXIT /b 1\n)\nIF \"%2\"==\"\" (\n    @ECHO Invalid Local WSDL \"%2\"\n    EXIT /b 1\n)\n\nSET LOCALXSD=%1\nSET LOCALWSDL=%2\n\nSET PROXY=%https.proxyHost%:%https.proxyPort%\nSET HOST=apitest.authorize.net\nSET PROTOCOL=https\n\n@REM SET PROXY=%http.proxyHost%:%http.proxyPort%\n@REM SET HOST=ww730vSmBu114.%USERDNSDOMAIN%\n@REM SET PROTOCOL=http\n\nSET XSD=%PROTOCOL%://%HOST%/xml/v1/schema/AnetApiSchema.xsd\nSET WSDL=%PROTOCOL%://%HOST%/ANetApiWS/ANetApiWS.asmx?wsdl\n\n@ECHO Fetching  XSD from:%XSD%\n@ECHO Fetching WSDL from:%WSDL%\n@ECHO Press Enter to continue\npause\nDEL /Q %LOCALXSD%\nDEL /Q %LOCALWSDL%\n\n@ECHO Fetching Schema: %XSD% \nbitsadmin.exe /transfer \"XSD Download\" /DOWNLOAD %XSD%  %LOCALXSD%\nIF NOT \"%ERRORLEVEL%\"==\"0\" (\n    @ECHO Unable to fetch \"%XSD%\"\n    EXIT /b 1\n)\n\nREM @ECHO Fetching WSDL:   %WSDL% \nREM bitsadmin.exe /transfer \"WSDL Download\" /DOWNLOAD %WSDL% %LOCALWSDL%\nREM IF NOT \"%ERRORLEVEL%\"==\"0\" (\n    REM SET ERRORLEVEL=\n    REM IF EXIST \"ANetApiWS.asmx@wsdl\" (\n        REM DEL /Q \"ANetApiWS.asmx@wsdl\"\n    REM )\n    REM @ECHO Unable to fetch \"%WSDL%\" via bitsadmin, trying wget\nREM @rem    \"%CYGWIN_EXE%\\wget.exe\" %WSDL% \n    REM IF \"%ERRORLEVEL%\"==\"1\" (\n        REM @ECHO Unable to fetch \"%WSDL%\" via wget\n        REM EXIT /b 1\n    REM )\n     REM IF EXIST \"ANetApiWS.asmx@wsdl\" (\n        REM COPY \"ANetApiWS.asmx@wsdl\" \"%LOCALWSDL%\"\n        REM DEL /Q \"ANetApiWS.asmx@wsdl\"\n    REM ) ELSE (\nREM @rem        @ECHO Unable to fetch \"%WSDL%\" via wget\n        REM @ECHO Escape fetching %WSDL%\n        REM @REM EXIT /b 1    \n    REM )\nREM )\nIF NOT EXIST \"%LOCALXSD%\" (\n    @ECHO Unable to find \"%LOCALXSD%\"\n    EXIT /b 1\n)\n@rem IF NOT EXIST \"%LOCALWSDL%\" (\n@rem     @ECHO Unable to find \"%LOCALWSDL%\"\n@rem     @REM EXIT /b 1\n@rem )\n@ECHO %0 Exit Code:'%ERRORLEVEL%'\nENDLOCAL\n\n@ECHO FINISHED %DATE%-%TIME%\n"
  },
  {
    "path": "scripts/masterUpdate.cmd",
    "content": "@ECHO OFF\n\nCALL \"%~dp0\\validateCygwinBinaries.cmd\"\nIF \"1\"==\"%ERRORLEVEL%\" (\n    @ECHO Invalid or incomplete Cygwin installation. Install cygwin and its components viz.\n    @ECHO grep sed perl cut touch wget sort\n    EXIT /b 1\n)\nSET CYGWIN_EXE=%CYGWIN_HOME%\\bin\n\n@ECHO. Started at %date%-%time%\n@ECHO This script will update all the generated code\n@ECHO. \n\nFOR %%x IN ( generateObjectsFromXsd.cmd generateControllersFromTemplate.cmd generateTestControllersFromTemplate.cmd generateTestForEnums.cmd generateRequestFactorySpecified.cmd) DO (\n    @ECHO Executing script \"%%x\"\n    CALL \"%~dp0%%x\"\n    IF \"1\"==\"%ERRORLEVEL%\" (\n        @ECHO. ########################################################################\n        @ECHO Encountered error during execution of \"%~dp0%%x\"\n        @ECHO See logs or output above. \n        @ECHO Exiting, Update ***NOT*** complete.\n        EXIT /b 1\n    )\n)\n@ECHO. \n@ECHO Exiting, Update completed succesfully.\n@ECHO Compile, run tests and commit in git-hub.\n@ECHO. Completed at %date%-%time%"
  },
  {
    "path": "scripts/prepareBinariesForVeracodeScan.cmd",
    "content": "@ECHO OFF\n@ECHO Script to prepare dlls for VeraCode scan\n\nIF NOT EXIST \"Authorize.NET\\bin\\USELOCAL\\AuthorizeNet.dll\" (\n    @ECHO AuthorizeNet.dll not found, build and make sure yo are in correct working directory\n    EXIT /b 1\n)\nSET target=veracode\nIF NOT EXIST \"%TARGET%\" (MD \"%TARGET%\")\n\nCOPY /y Authorize.NET\\bin\\USELOCAL\\AuthorizeNet.* \"%TARGET%\"\\.\nCOPY /y AuthorizeNETtest\\bin\\USELOCAL\\AuthorizeNet_Accessor.* \"%TARGET%\"\\.\nCOPY /y AuthorizeNETtest\\bin\\USELOCAL\\AuthorizeNETtest.* \"%TARGET%\"\\.\nCOPY /y CoffeeShopWebApp\\bin\\CoffeeShopWebApp.* \"%TARGET%\"\\.\n \n@ECHO Looking for Microsoft.VisualStudio.QualityTools.UnitTestFramework \nSET MSVSTEST=C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE\\PublicAssemblies\\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll\nIF NOT EXIST \"%MSVSTEST%\" (\n    @ECHO \"%MSVSTEST%\" not found\n    EXIT /b 1\n)\nCOPY /y \"%MSVSTEST%\" \"%TARGET%\"\\.\n"
  },
  {
    "path": "scripts/validateCygwinBinaries.cmd",
    "content": "@ECHO OFF\n\n@ECHO Validating Cygwin installation and its required components\n\nIF \"\"==\"%CYGWIN_HOME%\" (\n    @ECHO CYGWIN_HOME not set. Pl. make sure cygwin is installed and set CYGWIN_HOME to point to it. \n    EXIT /b 1\n)\nIF NOT EXIST \"%CYGWIN_HOME%\" (\n    @ECHO %CYGWIN_HOME% does not exist.\n    EXIT /b 1\n)\nIF NOT EXIST \"%CYGWIN_HOME%\\bin\" (\n    @ECHO %CYGWIN_HOME%\\bin does not exist.\n    EXIT /b 1\n)\nSET CYGWIN_EXE=%CYGWIN_HOME%\\bin\nFOR %%x IN (grep sed perl cut touch wget sort) DO (\n    IF NOT EXIST \"%CYGWIN_EXE%\\%%x.exe\" (\n        @ECHO \"%CYGWIN_EXE%\\%%x.exe\" does not exist. Pl. make sure to install cygwin utility \"%%x\"\n        EXIT /b 1\n    )\n)\n"
  }
]