//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.235
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by Microsoft.VSDesigner, Version 4.0.30319.235.
// 
#pragma warning disable 1591

namespace Nop.Plugin.Payments.AuthorizeNet.net.authorize.api {
    using System;
    using System.Web.Services;
    using System.Diagnostics;
    using System.Web.Services.Protocols;
    using System.ComponentModel;
    using System.Xml.Serialization;
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="ServiceSoap", Namespace="https://api.authorize.net/soap/v1/")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ProfileTransAmountType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DriversLicenseBaseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CreditCardSimpleType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BankAccountBaseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CustomerPaymentProfileBaseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CustomerProfileBaseType))]
    public partial class Service : System.Web.Services.Protocols.SoapHttpClientProtocol {
        
        private System.Threading.SendOrPostCallback IsAliveOperationCompleted;
        
        private System.Threading.SendOrPostCallback AuthenticateTestOperationCompleted;
        
        private System.Threading.SendOrPostCallback ARBCreateSubscriptionOperationCompleted;
        
        private System.Threading.SendOrPostCallback ARBUpdateSubscriptionOperationCompleted;
        
        private System.Threading.SendOrPostCallback ARBCancelSubscriptionOperationCompleted;
        
        private System.Threading.SendOrPostCallback ARBGetSubscriptionStatusOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateCustomerProfileOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateCustomerPaymentProfileOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateCustomerShippingAddressOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetCustomerProfileOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetCustomerPaymentProfileOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetCustomerShippingAddressOperationCompleted;
        
        private System.Threading.SendOrPostCallback UpdateCustomerProfileOperationCompleted;
        
        private System.Threading.SendOrPostCallback UpdateCustomerPaymentProfileOperationCompleted;
        
        private System.Threading.SendOrPostCallback UpdateCustomerShippingAddressOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteCustomerProfileOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteCustomerPaymentProfileOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteCustomerShippingAddressOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateCustomerProfileTransactionOperationCompleted;
        
        private System.Threading.SendOrPostCallback ValidateCustomerPaymentProfileOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetCustomerProfileIdsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetHostedProfilePageOperationCompleted;
        
        private System.Threading.SendOrPostCallback UpdateSplitTenderGroupOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetTransactionDetailsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetSettledBatchListOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetBatchStatisticsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetTransactionListOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetUnsettledTransactionListOperationCompleted;
        
        private bool useDefaultCredentialsSetExplicitly;
        
        /// <remarks/>
        public Service() {
            this.Url = global::Nop.Plugin.Payments.AuthorizeNet.Properties.Settings.Default.Nop_Plugin_Payments_AuthorizeNet_net_authorize_api_Service;
            if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
                this.UseDefaultCredentials = true;
                this.useDefaultCredentialsSetExplicitly = false;
            }
            else {
                this.useDefaultCredentialsSetExplicitly = true;
            }
        }
        
        public new string Url {
            get {
                return base.Url;
            }
            set {
                if ((((this.IsLocalFileSystemWebService(base.Url) == true) 
                            && (this.useDefaultCredentialsSetExplicitly == false)) 
                            && (this.IsLocalFileSystemWebService(value) == false))) {
                    base.UseDefaultCredentials = false;
                }
                base.Url = value;
            }
        }
        
        public new bool UseDefaultCredentials {
            get {
                return base.UseDefaultCredentials;
            }
            set {
                base.UseDefaultCredentials = value;
                this.useDefaultCredentialsSetExplicitly = true;
            }
        }
        
        /// <remarks/>
        public event IsAliveCompletedEventHandler IsAliveCompleted;
        
        /// <remarks/>
        public event AuthenticateTestCompletedEventHandler AuthenticateTestCompleted;
        
        /// <remarks/>
        public event ARBCreateSubscriptionCompletedEventHandler ARBCreateSubscriptionCompleted;
        
        /// <remarks/>
        public event ARBUpdateSubscriptionCompletedEventHandler ARBUpdateSubscriptionCompleted;
        
        /// <remarks/>
        public event ARBCancelSubscriptionCompletedEventHandler ARBCancelSubscriptionCompleted;
        
        /// <remarks/>
        public event ARBGetSubscriptionStatusCompletedEventHandler ARBGetSubscriptionStatusCompleted;
        
        /// <remarks/>
        public event CreateCustomerProfileCompletedEventHandler CreateCustomerProfileCompleted;
        
        /// <remarks/>
        public event CreateCustomerPaymentProfileCompletedEventHandler CreateCustomerPaymentProfileCompleted;
        
        /// <remarks/>
        public event CreateCustomerShippingAddressCompletedEventHandler CreateCustomerShippingAddressCompleted;
        
        /// <remarks/>
        public event GetCustomerProfileCompletedEventHandler GetCustomerProfileCompleted;
        
        /// <remarks/>
        public event GetCustomerPaymentProfileCompletedEventHandler GetCustomerPaymentProfileCompleted;
        
        /// <remarks/>
        public event GetCustomerShippingAddressCompletedEventHandler GetCustomerShippingAddressCompleted;
        
        /// <remarks/>
        public event UpdateCustomerProfileCompletedEventHandler UpdateCustomerProfileCompleted;
        
        /// <remarks/>
        public event UpdateCustomerPaymentProfileCompletedEventHandler UpdateCustomerPaymentProfileCompleted;
        
        /// <remarks/>
        public event UpdateCustomerShippingAddressCompletedEventHandler UpdateCustomerShippingAddressCompleted;
        
        /// <remarks/>
        public event DeleteCustomerProfileCompletedEventHandler DeleteCustomerProfileCompleted;
        
        /// <remarks/>
        public event DeleteCustomerPaymentProfileCompletedEventHandler DeleteCustomerPaymentProfileCompleted;
        
        /// <remarks/>
        public event DeleteCustomerShippingAddressCompletedEventHandler DeleteCustomerShippingAddressCompleted;
        
        /// <remarks/>
        public event CreateCustomerProfileTransactionCompletedEventHandler CreateCustomerProfileTransactionCompleted;
        
        /// <remarks/>
        public event ValidateCustomerPaymentProfileCompletedEventHandler ValidateCustomerPaymentProfileCompleted;
        
        /// <remarks/>
        public event GetCustomerProfileIdsCompletedEventHandler GetCustomerProfileIdsCompleted;
        
        /// <remarks/>
        public event GetHostedProfilePageCompletedEventHandler GetHostedProfilePageCompleted;
        
        /// <remarks/>
        public event UpdateSplitTenderGroupCompletedEventHandler UpdateSplitTenderGroupCompleted;
        
        /// <remarks/>
        public event GetTransactionDetailsCompletedEventHandler GetTransactionDetailsCompleted;
        
        /// <remarks/>
        public event GetSettledBatchListCompletedEventHandler GetSettledBatchListCompleted;
        
        /// <remarks/>
        public event GetBatchStatisticsCompletedEventHandler GetBatchStatisticsCompleted;
        
        /// <remarks/>
        public event GetTransactionListCompletedEventHandler GetTransactionListCompleted;
        
        /// <remarks/>
        public event GetUnsettledTransactionListCompletedEventHandler GetUnsettledTransactionListCompleted;
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/IsAlive", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ANetApiResponseType IsAlive() {
            object[] results = this.Invoke("IsAlive", new object[0]);
            return ((ANetApiResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void IsAliveAsync() {
            this.IsAliveAsync(null);
        }
        
        /// <remarks/>
        public void IsAliveAsync(object userState) {
            if ((this.IsAliveOperationCompleted == null)) {
                this.IsAliveOperationCompleted = new System.Threading.SendOrPostCallback(this.OnIsAliveOperationCompleted);
            }
            this.InvokeAsync("IsAlive", new object[0], this.IsAliveOperationCompleted, userState);
        }
        
        private void OnIsAliveOperationCompleted(object arg) {
            if ((this.IsAliveCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.IsAliveCompleted(this, new IsAliveCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/AuthenticateTest", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ANetApiResponseType AuthenticateTest(MerchantAuthenticationType merchantAuthentication) {
            object[] results = this.Invoke("AuthenticateTest", new object[] {
                        merchantAuthentication});
            return ((ANetApiResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void AuthenticateTestAsync(MerchantAuthenticationType merchantAuthentication) {
            this.AuthenticateTestAsync(merchantAuthentication, null);
        }
        
        /// <remarks/>
        public void AuthenticateTestAsync(MerchantAuthenticationType merchantAuthentication, object userState) {
            if ((this.AuthenticateTestOperationCompleted == null)) {
                this.AuthenticateTestOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAuthenticateTestOperationCompleted);
            }
            this.InvokeAsync("AuthenticateTest", new object[] {
                        merchantAuthentication}, this.AuthenticateTestOperationCompleted, userState);
        }
        
        private void OnAuthenticateTestOperationCompleted(object arg) {
            if ((this.AuthenticateTestCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.AuthenticateTestCompleted(this, new AuthenticateTestCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/ARBCreateSubscription", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ARBCreateSubscriptionResponseType ARBCreateSubscription(MerchantAuthenticationType merchantAuthentication, ARBSubscriptionType subscription) {
            object[] results = this.Invoke("ARBCreateSubscription", new object[] {
                        merchantAuthentication,
                        subscription});
            return ((ARBCreateSubscriptionResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void ARBCreateSubscriptionAsync(MerchantAuthenticationType merchantAuthentication, ARBSubscriptionType subscription) {
            this.ARBCreateSubscriptionAsync(merchantAuthentication, subscription, null);
        }
        
        /// <remarks/>
        public void ARBCreateSubscriptionAsync(MerchantAuthenticationType merchantAuthentication, ARBSubscriptionType subscription, object userState) {
            if ((this.ARBCreateSubscriptionOperationCompleted == null)) {
                this.ARBCreateSubscriptionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnARBCreateSubscriptionOperationCompleted);
            }
            this.InvokeAsync("ARBCreateSubscription", new object[] {
                        merchantAuthentication,
                        subscription}, this.ARBCreateSubscriptionOperationCompleted, userState);
        }
        
        private void OnARBCreateSubscriptionOperationCompleted(object arg) {
            if ((this.ARBCreateSubscriptionCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ARBCreateSubscriptionCompleted(this, new ARBCreateSubscriptionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/ARBUpdateSubscription", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ARBUpdateSubscriptionResponseType ARBUpdateSubscription(MerchantAuthenticationType merchantAuthentication, long subscriptionId, ARBSubscriptionType subscription) {
            object[] results = this.Invoke("ARBUpdateSubscription", new object[] {
                        merchantAuthentication,
                        subscriptionId,
                        subscription});
            return ((ARBUpdateSubscriptionResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void ARBUpdateSubscriptionAsync(MerchantAuthenticationType merchantAuthentication, long subscriptionId, ARBSubscriptionType subscription) {
            this.ARBUpdateSubscriptionAsync(merchantAuthentication, subscriptionId, subscription, null);
        }
        
        /// <remarks/>
        public void ARBUpdateSubscriptionAsync(MerchantAuthenticationType merchantAuthentication, long subscriptionId, ARBSubscriptionType subscription, object userState) {
            if ((this.ARBUpdateSubscriptionOperationCompleted == null)) {
                this.ARBUpdateSubscriptionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnARBUpdateSubscriptionOperationCompleted);
            }
            this.InvokeAsync("ARBUpdateSubscription", new object[] {
                        merchantAuthentication,
                        subscriptionId,
                        subscription}, this.ARBUpdateSubscriptionOperationCompleted, userState);
        }
        
        private void OnARBUpdateSubscriptionOperationCompleted(object arg) {
            if ((this.ARBUpdateSubscriptionCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ARBUpdateSubscriptionCompleted(this, new ARBUpdateSubscriptionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/ARBCancelSubscription", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ARBCancelSubscriptionResponseType ARBCancelSubscription(MerchantAuthenticationType merchantAuthentication, long subscriptionId) {
            object[] results = this.Invoke("ARBCancelSubscription", new object[] {
                        merchantAuthentication,
                        subscriptionId});
            return ((ARBCancelSubscriptionResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void ARBCancelSubscriptionAsync(MerchantAuthenticationType merchantAuthentication, long subscriptionId) {
            this.ARBCancelSubscriptionAsync(merchantAuthentication, subscriptionId, null);
        }
        
        /// <remarks/>
        public void ARBCancelSubscriptionAsync(MerchantAuthenticationType merchantAuthentication, long subscriptionId, object userState) {
            if ((this.ARBCancelSubscriptionOperationCompleted == null)) {
                this.ARBCancelSubscriptionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnARBCancelSubscriptionOperationCompleted);
            }
            this.InvokeAsync("ARBCancelSubscription", new object[] {
                        merchantAuthentication,
                        subscriptionId}, this.ARBCancelSubscriptionOperationCompleted, userState);
        }
        
        private void OnARBCancelSubscriptionOperationCompleted(object arg) {
            if ((this.ARBCancelSubscriptionCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ARBCancelSubscriptionCompleted(this, new ARBCancelSubscriptionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/ARBGetSubscriptionStatus", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ARBGetSubscriptionStatusResponseType ARBGetSubscriptionStatus(MerchantAuthenticationType merchantAuthentication, long subscriptionId) {
            object[] results = this.Invoke("ARBGetSubscriptionStatus", new object[] {
                        merchantAuthentication,
                        subscriptionId});
            return ((ARBGetSubscriptionStatusResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void ARBGetSubscriptionStatusAsync(MerchantAuthenticationType merchantAuthentication, long subscriptionId) {
            this.ARBGetSubscriptionStatusAsync(merchantAuthentication, subscriptionId, null);
        }
        
        /// <remarks/>
        public void ARBGetSubscriptionStatusAsync(MerchantAuthenticationType merchantAuthentication, long subscriptionId, object userState) {
            if ((this.ARBGetSubscriptionStatusOperationCompleted == null)) {
                this.ARBGetSubscriptionStatusOperationCompleted = new System.Threading.SendOrPostCallback(this.OnARBGetSubscriptionStatusOperationCompleted);
            }
            this.InvokeAsync("ARBGetSubscriptionStatus", new object[] {
                        merchantAuthentication,
                        subscriptionId}, this.ARBGetSubscriptionStatusOperationCompleted, userState);
        }
        
        private void OnARBGetSubscriptionStatusOperationCompleted(object arg) {
            if ((this.ARBGetSubscriptionStatusCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ARBGetSubscriptionStatusCompleted(this, new ARBGetSubscriptionStatusCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/CreateCustomerProfile", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CreateCustomerProfileResponseType CreateCustomerProfile(MerchantAuthenticationType merchantAuthentication, CustomerProfileType profile, ValidationModeEnum validationMode) {
            object[] results = this.Invoke("CreateCustomerProfile", new object[] {
                        merchantAuthentication,
                        profile,
                        validationMode});
            return ((CreateCustomerProfileResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void CreateCustomerProfileAsync(MerchantAuthenticationType merchantAuthentication, CustomerProfileType profile, ValidationModeEnum validationMode) {
            this.CreateCustomerProfileAsync(merchantAuthentication, profile, validationMode, null);
        }
        
        /// <remarks/>
        public void CreateCustomerProfileAsync(MerchantAuthenticationType merchantAuthentication, CustomerProfileType profile, ValidationModeEnum validationMode, object userState) {
            if ((this.CreateCustomerProfileOperationCompleted == null)) {
                this.CreateCustomerProfileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateCustomerProfileOperationCompleted);
            }
            this.InvokeAsync("CreateCustomerProfile", new object[] {
                        merchantAuthentication,
                        profile,
                        validationMode}, this.CreateCustomerProfileOperationCompleted, userState);
        }
        
        private void OnCreateCustomerProfileOperationCompleted(object arg) {
            if ((this.CreateCustomerProfileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateCustomerProfileCompleted(this, new CreateCustomerProfileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/CreateCustomerPaymentProfile", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CreateCustomerPaymentProfileResponseType CreateCustomerPaymentProfile(MerchantAuthenticationType merchantAuthentication, long customerProfileId, CustomerPaymentProfileType paymentProfile, ValidationModeEnum validationMode) {
            object[] results = this.Invoke("CreateCustomerPaymentProfile", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        paymentProfile,
                        validationMode});
            return ((CreateCustomerPaymentProfileResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void CreateCustomerPaymentProfileAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, CustomerPaymentProfileType paymentProfile, ValidationModeEnum validationMode) {
            this.CreateCustomerPaymentProfileAsync(merchantAuthentication, customerProfileId, paymentProfile, validationMode, null);
        }
        
        /// <remarks/>
        public void CreateCustomerPaymentProfileAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, CustomerPaymentProfileType paymentProfile, ValidationModeEnum validationMode, object userState) {
            if ((this.CreateCustomerPaymentProfileOperationCompleted == null)) {
                this.CreateCustomerPaymentProfileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateCustomerPaymentProfileOperationCompleted);
            }
            this.InvokeAsync("CreateCustomerPaymentProfile", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        paymentProfile,
                        validationMode}, this.CreateCustomerPaymentProfileOperationCompleted, userState);
        }
        
        private void OnCreateCustomerPaymentProfileOperationCompleted(object arg) {
            if ((this.CreateCustomerPaymentProfileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateCustomerPaymentProfileCompleted(this, new CreateCustomerPaymentProfileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/CreateCustomerShippingAddress", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CreateCustomerShippingAddressResponseType CreateCustomerShippingAddress(MerchantAuthenticationType merchantAuthentication, long customerProfileId, CustomerAddressType address) {
            object[] results = this.Invoke("CreateCustomerShippingAddress", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        address});
            return ((CreateCustomerShippingAddressResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void CreateCustomerShippingAddressAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, CustomerAddressType address) {
            this.CreateCustomerShippingAddressAsync(merchantAuthentication, customerProfileId, address, null);
        }
        
        /// <remarks/>
        public void CreateCustomerShippingAddressAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, CustomerAddressType address, object userState) {
            if ((this.CreateCustomerShippingAddressOperationCompleted == null)) {
                this.CreateCustomerShippingAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateCustomerShippingAddressOperationCompleted);
            }
            this.InvokeAsync("CreateCustomerShippingAddress", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        address}, this.CreateCustomerShippingAddressOperationCompleted, userState);
        }
        
        private void OnCreateCustomerShippingAddressOperationCompleted(object arg) {
            if ((this.CreateCustomerShippingAddressCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateCustomerShippingAddressCompleted(this, new CreateCustomerShippingAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/GetCustomerProfile", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public GetCustomerProfileResponseType GetCustomerProfile(MerchantAuthenticationType merchantAuthentication, long customerProfileId) {
            object[] results = this.Invoke("GetCustomerProfile", new object[] {
                        merchantAuthentication,
                        customerProfileId});
            return ((GetCustomerProfileResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void GetCustomerProfileAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId) {
            this.GetCustomerProfileAsync(merchantAuthentication, customerProfileId, null);
        }
        
        /// <remarks/>
        public void GetCustomerProfileAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, object userState) {
            if ((this.GetCustomerProfileOperationCompleted == null)) {
                this.GetCustomerProfileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetCustomerProfileOperationCompleted);
            }
            this.InvokeAsync("GetCustomerProfile", new object[] {
                        merchantAuthentication,
                        customerProfileId}, this.GetCustomerProfileOperationCompleted, userState);
        }
        
        private void OnGetCustomerProfileOperationCompleted(object arg) {
            if ((this.GetCustomerProfileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetCustomerProfileCompleted(this, new GetCustomerProfileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/GetCustomerPaymentProfile", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public GetCustomerPaymentProfileResponseType GetCustomerPaymentProfile(MerchantAuthenticationType merchantAuthentication, long customerProfileId, long customerPaymentProfileId) {
            object[] results = this.Invoke("GetCustomerPaymentProfile", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        customerPaymentProfileId});
            return ((GetCustomerPaymentProfileResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void GetCustomerPaymentProfileAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, long customerPaymentProfileId) {
            this.GetCustomerPaymentProfileAsync(merchantAuthentication, customerProfileId, customerPaymentProfileId, null);
        }
        
        /// <remarks/>
        public void GetCustomerPaymentProfileAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, long customerPaymentProfileId, object userState) {
            if ((this.GetCustomerPaymentProfileOperationCompleted == null)) {
                this.GetCustomerPaymentProfileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetCustomerPaymentProfileOperationCompleted);
            }
            this.InvokeAsync("GetCustomerPaymentProfile", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        customerPaymentProfileId}, this.GetCustomerPaymentProfileOperationCompleted, userState);
        }
        
        private void OnGetCustomerPaymentProfileOperationCompleted(object arg) {
            if ((this.GetCustomerPaymentProfileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetCustomerPaymentProfileCompleted(this, new GetCustomerPaymentProfileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/GetCustomerShippingAddress", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public GetCustomerShippingAddressResponseType GetCustomerShippingAddress(MerchantAuthenticationType merchantAuthentication, long customerProfileId, long customerAddressId) {
            object[] results = this.Invoke("GetCustomerShippingAddress", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        customerAddressId});
            return ((GetCustomerShippingAddressResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void GetCustomerShippingAddressAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, long customerAddressId) {
            this.GetCustomerShippingAddressAsync(merchantAuthentication, customerProfileId, customerAddressId, null);
        }
        
        /// <remarks/>
        public void GetCustomerShippingAddressAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, long customerAddressId, object userState) {
            if ((this.GetCustomerShippingAddressOperationCompleted == null)) {
                this.GetCustomerShippingAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetCustomerShippingAddressOperationCompleted);
            }
            this.InvokeAsync("GetCustomerShippingAddress", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        customerAddressId}, this.GetCustomerShippingAddressOperationCompleted, userState);
        }
        
        private void OnGetCustomerShippingAddressOperationCompleted(object arg) {
            if ((this.GetCustomerShippingAddressCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetCustomerShippingAddressCompleted(this, new GetCustomerShippingAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/UpdateCustomerProfile", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public UpdateCustomerProfileResponseType UpdateCustomerProfile(MerchantAuthenticationType merchantAuthentication, CustomerProfileExType profile) {
            object[] results = this.Invoke("UpdateCustomerProfile", new object[] {
                        merchantAuthentication,
                        profile});
            return ((UpdateCustomerProfileResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void UpdateCustomerProfileAsync(MerchantAuthenticationType merchantAuthentication, CustomerProfileExType profile) {
            this.UpdateCustomerProfileAsync(merchantAuthentication, profile, null);
        }
        
        /// <remarks/>
        public void UpdateCustomerProfileAsync(MerchantAuthenticationType merchantAuthentication, CustomerProfileExType profile, object userState) {
            if ((this.UpdateCustomerProfileOperationCompleted == null)) {
                this.UpdateCustomerProfileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateCustomerProfileOperationCompleted);
            }
            this.InvokeAsync("UpdateCustomerProfile", new object[] {
                        merchantAuthentication,
                        profile}, this.UpdateCustomerProfileOperationCompleted, userState);
        }
        
        private void OnUpdateCustomerProfileOperationCompleted(object arg) {
            if ((this.UpdateCustomerProfileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateCustomerProfileCompleted(this, new UpdateCustomerProfileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/UpdateCustomerPaymentProfile", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public UpdateCustomerPaymentProfileResponseType UpdateCustomerPaymentProfile(MerchantAuthenticationType merchantAuthentication, long customerProfileId, CustomerPaymentProfileExType paymentProfile, ValidationModeEnum validationMode) {
            object[] results = this.Invoke("UpdateCustomerPaymentProfile", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        paymentProfile,
                        validationMode});
            return ((UpdateCustomerPaymentProfileResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void UpdateCustomerPaymentProfileAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, CustomerPaymentProfileExType paymentProfile, ValidationModeEnum validationMode) {
            this.UpdateCustomerPaymentProfileAsync(merchantAuthentication, customerProfileId, paymentProfile, validationMode, null);
        }
        
        /// <remarks/>
        public void UpdateCustomerPaymentProfileAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, CustomerPaymentProfileExType paymentProfile, ValidationModeEnum validationMode, object userState) {
            if ((this.UpdateCustomerPaymentProfileOperationCompleted == null)) {
                this.UpdateCustomerPaymentProfileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateCustomerPaymentProfileOperationCompleted);
            }
            this.InvokeAsync("UpdateCustomerPaymentProfile", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        paymentProfile,
                        validationMode}, this.UpdateCustomerPaymentProfileOperationCompleted, userState);
        }
        
        private void OnUpdateCustomerPaymentProfileOperationCompleted(object arg) {
            if ((this.UpdateCustomerPaymentProfileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateCustomerPaymentProfileCompleted(this, new UpdateCustomerPaymentProfileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/UpdateCustomerShippingAddress", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public UpdateCustomerShippingAddressResponseType UpdateCustomerShippingAddress(MerchantAuthenticationType merchantAuthentication, long customerProfileId, CustomerAddressExType address) {
            object[] results = this.Invoke("UpdateCustomerShippingAddress", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        address});
            return ((UpdateCustomerShippingAddressResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void UpdateCustomerShippingAddressAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, CustomerAddressExType address) {
            this.UpdateCustomerShippingAddressAsync(merchantAuthentication, customerProfileId, address, null);
        }
        
        /// <remarks/>
        public void UpdateCustomerShippingAddressAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, CustomerAddressExType address, object userState) {
            if ((this.UpdateCustomerShippingAddressOperationCompleted == null)) {
                this.UpdateCustomerShippingAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateCustomerShippingAddressOperationCompleted);
            }
            this.InvokeAsync("UpdateCustomerShippingAddress", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        address}, this.UpdateCustomerShippingAddressOperationCompleted, userState);
        }
        
        private void OnUpdateCustomerShippingAddressOperationCompleted(object arg) {
            if ((this.UpdateCustomerShippingAddressCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateCustomerShippingAddressCompleted(this, new UpdateCustomerShippingAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/DeleteCustomerProfile", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public DeleteCustomerProfileResponseType DeleteCustomerProfile(MerchantAuthenticationType merchantAuthentication, long customerProfileId) {
            object[] results = this.Invoke("DeleteCustomerProfile", new object[] {
                        merchantAuthentication,
                        customerProfileId});
            return ((DeleteCustomerProfileResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteCustomerProfileAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId) {
            this.DeleteCustomerProfileAsync(merchantAuthentication, customerProfileId, null);
        }
        
        /// <remarks/>
        public void DeleteCustomerProfileAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, object userState) {
            if ((this.DeleteCustomerProfileOperationCompleted == null)) {
                this.DeleteCustomerProfileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteCustomerProfileOperationCompleted);
            }
            this.InvokeAsync("DeleteCustomerProfile", new object[] {
                        merchantAuthentication,
                        customerProfileId}, this.DeleteCustomerProfileOperationCompleted, userState);
        }
        
        private void OnDeleteCustomerProfileOperationCompleted(object arg) {
            if ((this.DeleteCustomerProfileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteCustomerProfileCompleted(this, new DeleteCustomerProfileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/DeleteCustomerPaymentProfile", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public DeleteCustomerPaymentProfileResponseType DeleteCustomerPaymentProfile(MerchantAuthenticationType merchantAuthentication, long customerProfileId, long customerPaymentProfileId) {
            object[] results = this.Invoke("DeleteCustomerPaymentProfile", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        customerPaymentProfileId});
            return ((DeleteCustomerPaymentProfileResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteCustomerPaymentProfileAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, long customerPaymentProfileId) {
            this.DeleteCustomerPaymentProfileAsync(merchantAuthentication, customerProfileId, customerPaymentProfileId, null);
        }
        
        /// <remarks/>
        public void DeleteCustomerPaymentProfileAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, long customerPaymentProfileId, object userState) {
            if ((this.DeleteCustomerPaymentProfileOperationCompleted == null)) {
                this.DeleteCustomerPaymentProfileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteCustomerPaymentProfileOperationCompleted);
            }
            this.InvokeAsync("DeleteCustomerPaymentProfile", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        customerPaymentProfileId}, this.DeleteCustomerPaymentProfileOperationCompleted, userState);
        }
        
        private void OnDeleteCustomerPaymentProfileOperationCompleted(object arg) {
            if ((this.DeleteCustomerPaymentProfileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteCustomerPaymentProfileCompleted(this, new DeleteCustomerPaymentProfileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/DeleteCustomerShippingAddress", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public DeleteCustomerShippingAddressResponseType DeleteCustomerShippingAddress(MerchantAuthenticationType merchantAuthentication, long customerProfileId, long customerAddressId) {
            object[] results = this.Invoke("DeleteCustomerShippingAddress", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        customerAddressId});
            return ((DeleteCustomerShippingAddressResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteCustomerShippingAddressAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, long customerAddressId) {
            this.DeleteCustomerShippingAddressAsync(merchantAuthentication, customerProfileId, customerAddressId, null);
        }
        
        /// <remarks/>
        public void DeleteCustomerShippingAddressAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, long customerAddressId, object userState) {
            if ((this.DeleteCustomerShippingAddressOperationCompleted == null)) {
                this.DeleteCustomerShippingAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteCustomerShippingAddressOperationCompleted);
            }
            this.InvokeAsync("DeleteCustomerShippingAddress", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        customerAddressId}, this.DeleteCustomerShippingAddressOperationCompleted, userState);
        }
        
        private void OnDeleteCustomerShippingAddressOperationCompleted(object arg) {
            if ((this.DeleteCustomerShippingAddressCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteCustomerShippingAddressCompleted(this, new DeleteCustomerShippingAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/CreateCustomerProfileTransaction", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CreateCustomerProfileTransactionResponseType CreateCustomerProfileTransaction(MerchantAuthenticationType merchantAuthentication, ProfileTransactionType transaction, string extraOptions) {
            object[] results = this.Invoke("CreateCustomerProfileTransaction", new object[] {
                        merchantAuthentication,
                        transaction,
                        extraOptions});
            return ((CreateCustomerProfileTransactionResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void CreateCustomerProfileTransactionAsync(MerchantAuthenticationType merchantAuthentication, ProfileTransactionType transaction, string extraOptions) {
            this.CreateCustomerProfileTransactionAsync(merchantAuthentication, transaction, extraOptions, null);
        }
        
        /// <remarks/>
        public void CreateCustomerProfileTransactionAsync(MerchantAuthenticationType merchantAuthentication, ProfileTransactionType transaction, string extraOptions, object userState) {
            if ((this.CreateCustomerProfileTransactionOperationCompleted == null)) {
                this.CreateCustomerProfileTransactionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateCustomerProfileTransactionOperationCompleted);
            }
            this.InvokeAsync("CreateCustomerProfileTransaction", new object[] {
                        merchantAuthentication,
                        transaction,
                        extraOptions}, this.CreateCustomerProfileTransactionOperationCompleted, userState);
        }
        
        private void OnCreateCustomerProfileTransactionOperationCompleted(object arg) {
            if ((this.CreateCustomerProfileTransactionCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateCustomerProfileTransactionCompleted(this, new CreateCustomerProfileTransactionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/ValidateCustomerPaymentProfile", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ValidateCustomerPaymentProfileResponseType ValidateCustomerPaymentProfile(MerchantAuthenticationType merchantAuthentication, long customerProfileId, long customerPaymentProfileId, long customerShippingAddressId, string cardCode, ValidationModeEnum validationMode) {
            object[] results = this.Invoke("ValidateCustomerPaymentProfile", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        customerPaymentProfileId,
                        customerShippingAddressId,
                        cardCode,
                        validationMode});
            return ((ValidateCustomerPaymentProfileResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void ValidateCustomerPaymentProfileAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, long customerPaymentProfileId, long customerShippingAddressId, string cardCode, ValidationModeEnum validationMode) {
            this.ValidateCustomerPaymentProfileAsync(merchantAuthentication, customerProfileId, customerPaymentProfileId, customerShippingAddressId, cardCode, validationMode, null);
        }
        
        /// <remarks/>
        public void ValidateCustomerPaymentProfileAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, long customerPaymentProfileId, long customerShippingAddressId, string cardCode, ValidationModeEnum validationMode, object userState) {
            if ((this.ValidateCustomerPaymentProfileOperationCompleted == null)) {
                this.ValidateCustomerPaymentProfileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnValidateCustomerPaymentProfileOperationCompleted);
            }
            this.InvokeAsync("ValidateCustomerPaymentProfile", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        customerPaymentProfileId,
                        customerShippingAddressId,
                        cardCode,
                        validationMode}, this.ValidateCustomerPaymentProfileOperationCompleted, userState);
        }
        
        private void OnValidateCustomerPaymentProfileOperationCompleted(object arg) {
            if ((this.ValidateCustomerPaymentProfileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ValidateCustomerPaymentProfileCompleted(this, new ValidateCustomerPaymentProfileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/GetCustomerProfileIds", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public GetCustomerProfileIdsResponseType GetCustomerProfileIds(MerchantAuthenticationType merchantAuthentication) {
            object[] results = this.Invoke("GetCustomerProfileIds", new object[] {
                        merchantAuthentication});
            return ((GetCustomerProfileIdsResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void GetCustomerProfileIdsAsync(MerchantAuthenticationType merchantAuthentication) {
            this.GetCustomerProfileIdsAsync(merchantAuthentication, null);
        }
        
        /// <remarks/>
        public void GetCustomerProfileIdsAsync(MerchantAuthenticationType merchantAuthentication, object userState) {
            if ((this.GetCustomerProfileIdsOperationCompleted == null)) {
                this.GetCustomerProfileIdsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetCustomerProfileIdsOperationCompleted);
            }
            this.InvokeAsync("GetCustomerProfileIds", new object[] {
                        merchantAuthentication}, this.GetCustomerProfileIdsOperationCompleted, userState);
        }
        
        private void OnGetCustomerProfileIdsOperationCompleted(object arg) {
            if ((this.GetCustomerProfileIdsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetCustomerProfileIdsCompleted(this, new GetCustomerProfileIdsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/GetHostedProfilePage", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public GetHostedProfilePageResponseType GetHostedProfilePage(MerchantAuthenticationType merchantAuthentication, long customerProfileId, [System.Xml.Serialization.XmlArrayItemAttribute("setting", IsNullable=false)] SettingType[] hostedProfileSettings) {
            object[] results = this.Invoke("GetHostedProfilePage", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        hostedProfileSettings});
            return ((GetHostedProfilePageResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void GetHostedProfilePageAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, SettingType[] hostedProfileSettings) {
            this.GetHostedProfilePageAsync(merchantAuthentication, customerProfileId, hostedProfileSettings, null);
        }
        
        /// <remarks/>
        public void GetHostedProfilePageAsync(MerchantAuthenticationType merchantAuthentication, long customerProfileId, SettingType[] hostedProfileSettings, object userState) {
            if ((this.GetHostedProfilePageOperationCompleted == null)) {
                this.GetHostedProfilePageOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetHostedProfilePageOperationCompleted);
            }
            this.InvokeAsync("GetHostedProfilePage", new object[] {
                        merchantAuthentication,
                        customerProfileId,
                        hostedProfileSettings}, this.GetHostedProfilePageOperationCompleted, userState);
        }
        
        private void OnGetHostedProfilePageOperationCompleted(object arg) {
            if ((this.GetHostedProfilePageCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetHostedProfilePageCompleted(this, new GetHostedProfilePageCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/UpdateSplitTenderGroup", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public UpdateSplitTenderGroupResponseType UpdateSplitTenderGroup(MerchantAuthenticationType merchantAuthentication, long splitTenderId, SplitTenderStatusEnum splitTenderStatus) {
            object[] results = this.Invoke("UpdateSplitTenderGroup", new object[] {
                        merchantAuthentication,
                        splitTenderId,
                        splitTenderStatus});
            return ((UpdateSplitTenderGroupResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void UpdateSplitTenderGroupAsync(MerchantAuthenticationType merchantAuthentication, long splitTenderId, SplitTenderStatusEnum splitTenderStatus) {
            this.UpdateSplitTenderGroupAsync(merchantAuthentication, splitTenderId, splitTenderStatus, null);
        }
        
        /// <remarks/>
        public void UpdateSplitTenderGroupAsync(MerchantAuthenticationType merchantAuthentication, long splitTenderId, SplitTenderStatusEnum splitTenderStatus, object userState) {
            if ((this.UpdateSplitTenderGroupOperationCompleted == null)) {
                this.UpdateSplitTenderGroupOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateSplitTenderGroupOperationCompleted);
            }
            this.InvokeAsync("UpdateSplitTenderGroup", new object[] {
                        merchantAuthentication,
                        splitTenderId,
                        splitTenderStatus}, this.UpdateSplitTenderGroupOperationCompleted, userState);
        }
        
        private void OnUpdateSplitTenderGroupOperationCompleted(object arg) {
            if ((this.UpdateSplitTenderGroupCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateSplitTenderGroupCompleted(this, new UpdateSplitTenderGroupCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/GetTransactionDetails", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public GetTransactionDetailsResponseType GetTransactionDetails(MerchantAuthenticationType merchantAuthentication, string transId) {
            object[] results = this.Invoke("GetTransactionDetails", new object[] {
                        merchantAuthentication,
                        transId});
            return ((GetTransactionDetailsResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void GetTransactionDetailsAsync(MerchantAuthenticationType merchantAuthentication, string transId) {
            this.GetTransactionDetailsAsync(merchantAuthentication, transId, null);
        }
        
        /// <remarks/>
        public void GetTransactionDetailsAsync(MerchantAuthenticationType merchantAuthentication, string transId, object userState) {
            if ((this.GetTransactionDetailsOperationCompleted == null)) {
                this.GetTransactionDetailsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetTransactionDetailsOperationCompleted);
            }
            this.InvokeAsync("GetTransactionDetails", new object[] {
                        merchantAuthentication,
                        transId}, this.GetTransactionDetailsOperationCompleted, userState);
        }
        
        private void OnGetTransactionDetailsOperationCompleted(object arg) {
            if ((this.GetTransactionDetailsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetTransactionDetailsCompleted(this, new GetTransactionDetailsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/GetSettledBatchList", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public GetSettledBatchListResponseType GetSettledBatchList(MerchantAuthenticationType merchantAuthentication, GetSettledBatchListRequestType request) {
            object[] results = this.Invoke("GetSettledBatchList", new object[] {
                        merchantAuthentication,
                        request});
            return ((GetSettledBatchListResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void GetSettledBatchListAsync(MerchantAuthenticationType merchantAuthentication, GetSettledBatchListRequestType request) {
            this.GetSettledBatchListAsync(merchantAuthentication, request, null);
        }
        
        /// <remarks/>
        public void GetSettledBatchListAsync(MerchantAuthenticationType merchantAuthentication, GetSettledBatchListRequestType request, object userState) {
            if ((this.GetSettledBatchListOperationCompleted == null)) {
                this.GetSettledBatchListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSettledBatchListOperationCompleted);
            }
            this.InvokeAsync("GetSettledBatchList", new object[] {
                        merchantAuthentication,
                        request}, this.GetSettledBatchListOperationCompleted, userState);
        }
        
        private void OnGetSettledBatchListOperationCompleted(object arg) {
            if ((this.GetSettledBatchListCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSettledBatchListCompleted(this, new GetSettledBatchListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/GetBatchStatistics", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public GetBatchStatisticsResponseType GetBatchStatistics(MerchantAuthenticationType merchantAuthentication, GetBatchStatisticsRequestType request) {
            object[] results = this.Invoke("GetBatchStatistics", new object[] {
                        merchantAuthentication,
                        request});
            return ((GetBatchStatisticsResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void GetBatchStatisticsAsync(MerchantAuthenticationType merchantAuthentication, GetBatchStatisticsRequestType request) {
            this.GetBatchStatisticsAsync(merchantAuthentication, request, null);
        }
        
        /// <remarks/>
        public void GetBatchStatisticsAsync(MerchantAuthenticationType merchantAuthentication, GetBatchStatisticsRequestType request, object userState) {
            if ((this.GetBatchStatisticsOperationCompleted == null)) {
                this.GetBatchStatisticsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetBatchStatisticsOperationCompleted);
            }
            this.InvokeAsync("GetBatchStatistics", new object[] {
                        merchantAuthentication,
                        request}, this.GetBatchStatisticsOperationCompleted, userState);
        }
        
        private void OnGetBatchStatisticsOperationCompleted(object arg) {
            if ((this.GetBatchStatisticsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetBatchStatisticsCompleted(this, new GetBatchStatisticsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/GetTransactionList", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public GetTransactionListResponseType GetTransactionList(MerchantAuthenticationType merchantAuthentication, GetTransactionListRequestType request) {
            object[] results = this.Invoke("GetTransactionList", new object[] {
                        merchantAuthentication,
                        request});
            return ((GetTransactionListResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void GetTransactionListAsync(MerchantAuthenticationType merchantAuthentication, GetTransactionListRequestType request) {
            this.GetTransactionListAsync(merchantAuthentication, request, null);
        }
        
        /// <remarks/>
        public void GetTransactionListAsync(MerchantAuthenticationType merchantAuthentication, GetTransactionListRequestType request, object userState) {
            if ((this.GetTransactionListOperationCompleted == null)) {
                this.GetTransactionListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetTransactionListOperationCompleted);
            }
            this.InvokeAsync("GetTransactionList", new object[] {
                        merchantAuthentication,
                        request}, this.GetTransactionListOperationCompleted, userState);
        }
        
        private void OnGetTransactionListOperationCompleted(object arg) {
            if ((this.GetTransactionListCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetTransactionListCompleted(this, new GetTransactionListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("https://api.authorize.net/soap/v1/GetUnsettledTransactionList", RequestNamespace="https://api.authorize.net/soap/v1/", ResponseNamespace="https://api.authorize.net/soap/v1/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public GetUnsettledTransactionListResponseType GetUnsettledTransactionList(MerchantAuthenticationType merchantAuthentication, GetUnsettledTransactionListRequestType request) {
            object[] results = this.Invoke("GetUnsettledTransactionList", new object[] {
                        merchantAuthentication,
                        request});
            return ((GetUnsettledTransactionListResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void GetUnsettledTransactionListAsync(MerchantAuthenticationType merchantAuthentication, GetUnsettledTransactionListRequestType request) {
            this.GetUnsettledTransactionListAsync(merchantAuthentication, request, null);
        }
        
        /// <remarks/>
        public void GetUnsettledTransactionListAsync(MerchantAuthenticationType merchantAuthentication, GetUnsettledTransactionListRequestType request, object userState) {
            if ((this.GetUnsettledTransactionListOperationCompleted == null)) {
                this.GetUnsettledTransactionListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUnsettledTransactionListOperationCompleted);
            }
            this.InvokeAsync("GetUnsettledTransactionList", new object[] {
                        merchantAuthentication,
                        request}, this.GetUnsettledTransactionListOperationCompleted, userState);
        }
        
        private void OnGetUnsettledTransactionListOperationCompleted(object arg) {
            if ((this.GetUnsettledTransactionListCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetUnsettledTransactionListCompleted(this, new GetUnsettledTransactionListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        public new void CancelAsync(object userState) {
            base.CancelAsync(userState);
        }
        
        private bool IsLocalFileSystemWebService(string url) {
            if (((url == null) 
                        || (url == string.Empty))) {
                return false;
            }
            System.Uri wsUri = new System.Uri(url);
            if (((wsUri.Port >= 1024) 
                        && (string.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) == 0))) {
                return true;
            }
            return false;
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GetUnsettledTransactionListResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GetTransactionListResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GetBatchStatisticsResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GetSettledBatchListResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GetTransactionDetailsResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UpdateSplitTenderGroupResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GetHostedProfilePageResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GetCustomerProfileIdsResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ValidateCustomerPaymentProfileResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CreateCustomerProfileTransactionResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DeleteCustomerShippingAddressResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DeleteCustomerPaymentProfileResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DeleteCustomerProfileResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UpdateCustomerShippingAddressResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UpdateCustomerPaymentProfileResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UpdateCustomerProfileResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GetCustomerShippingAddressResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GetCustomerPaymentProfileResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GetCustomerProfileResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CreateCustomerShippingAddressResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CreateCustomerPaymentProfileResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CreateCustomerProfileResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ARBGetSubscriptionStatusResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ARBCancelSubscriptionResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ARBUpdateSubscriptionResponseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ARBCreateSubscriptionResponseType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ANetApiResponseType {
        
        private MessageTypeEnum resultCodeField;
        
        private MessagesTypeMessage[] messagesField;
        
        /// <remarks/>
        public MessageTypeEnum resultCode {
            get {
                return this.resultCodeField;
            }
            set {
                this.resultCodeField = value;
            }
        }
        
        /// <remarks/>
        public MessagesTypeMessage[] messages {
            get {
                return this.messagesField;
            }
            set {
                this.messagesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public enum MessageTypeEnum {
        
        /// <remarks/>
        Ok,
        
        /// <remarks/>
        Error,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class MessagesTypeMessage {
        
        private string codeField;
        
        private string textField;
        
        /// <remarks/>
        public string code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
            }
        }
        
        /// <remarks/>
        public string text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class GetUnsettledTransactionListRequestType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class GetTransactionListRequestType {
        
        private string batchIdField;
        
        /// <remarks/>
        public string batchId {
            get {
                return this.batchIdField;
            }
            set {
                this.batchIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class GetBatchStatisticsRequestType {
        
        private string batchIdField;
        
        /// <remarks/>
        public string batchId {
            get {
                return this.batchIdField;
            }
            set {
                this.batchIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class GetSettledBatchListRequestType {
        
        private bool includeStatisticsField;
        
        private bool includeStatisticsFieldSpecified;
        
        private System.DateTime firstSettlementDateField;
        
        private bool firstSettlementDateFieldSpecified;
        
        private System.DateTime lastSettlementDateField;
        
        private bool lastSettlementDateFieldSpecified;
        
        /// <remarks/>
        public bool includeStatistics {
            get {
                return this.includeStatisticsField;
            }
            set {
                this.includeStatisticsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool includeStatisticsSpecified {
            get {
                return this.includeStatisticsFieldSpecified;
            }
            set {
                this.includeStatisticsFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime firstSettlementDate {
            get {
                return this.firstSettlementDateField;
            }
            set {
                this.firstSettlementDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool firstSettlementDateSpecified {
            get {
                return this.firstSettlementDateFieldSpecified;
            }
            set {
                this.firstSettlementDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime lastSettlementDate {
            get {
                return this.lastSettlementDateField;
            }
            set {
                this.lastSettlementDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool lastSettlementDateSpecified {
            get {
                return this.lastSettlementDateFieldSpecified;
            }
            set {
                this.lastSettlementDateFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class SettingType {
        
        private string settingNameField;
        
        private string settingValueField;
        
        /// <remarks/>
        public string settingName {
            get {
                return this.settingNameField;
            }
            set {
                this.settingNameField = value;
            }
        }
        
        /// <remarks/>
        public string settingValue {
            get {
                return this.settingValueField;
            }
            set {
                this.settingValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ProfileTransOrderType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ProfileTransCaptureOnlyType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ProfileTransAuthOnlyType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ProfileTransAuthCaptureType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ProfileTransPriorAuthCaptureType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ProfileTransRefundType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ProfileTransAmountType {
        
        private decimal amountField;
        
        private ExtendedAmountType taxField;
        
        private ExtendedAmountType shippingField;
        
        private ExtendedAmountType dutyField;
        
        private LineItemType[] lineItemsField;
        
        /// <remarks/>
        public decimal amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
            }
        }
        
        /// <remarks/>
        public ExtendedAmountType tax {
            get {
                return this.taxField;
            }
            set {
                this.taxField = value;
            }
        }
        
        /// <remarks/>
        public ExtendedAmountType shipping {
            get {
                return this.shippingField;
            }
            set {
                this.shippingField = value;
            }
        }
        
        /// <remarks/>
        public ExtendedAmountType duty {
            get {
                return this.dutyField;
            }
            set {
                this.dutyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("lineItems")]
        public LineItemType[] lineItems {
            get {
                return this.lineItemsField;
            }
            set {
                this.lineItemsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ExtendedAmountType {
        
        private decimal amountField;
        
        private string nameField;
        
        private string descriptionField;
        
        /// <remarks/>
        public decimal amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
            }
        }
        
        /// <remarks/>
        public string name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        public string description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class LineItemType {
        
        private string itemIdField;
        
        private string nameField;
        
        private string descriptionField;
        
        private decimal quantityField;
        
        private decimal unitPriceField;
        
        private bool taxableField;
        
        private bool taxableFieldSpecified;
        
        /// <remarks/>
        public string itemId {
            get {
                return this.itemIdField;
            }
            set {
                this.itemIdField = value;
            }
        }
        
        /// <remarks/>
        public string name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        public string description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
        
        /// <remarks/>
        public decimal quantity {
            get {
                return this.quantityField;
            }
            set {
                this.quantityField = value;
            }
        }
        
        /// <remarks/>
        public decimal unitPrice {
            get {
                return this.unitPriceField;
            }
            set {
                this.unitPriceField = value;
            }
        }
        
        /// <remarks/>
        public bool taxable {
            get {
                return this.taxableField;
            }
            set {
                this.taxableField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool taxableSpecified {
            get {
                return this.taxableFieldSpecified;
            }
            set {
                this.taxableFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ProfileTransCaptureOnlyType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ProfileTransAuthOnlyType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ProfileTransAuthCaptureType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ProfileTransOrderType : ProfileTransAmountType {
        
        private long customerProfileIdField;
        
        private long customerPaymentProfileIdField;
        
        private long customerShippingAddressIdField;
        
        private bool customerShippingAddressIdFieldSpecified;
        
        private OrderExType orderField;
        
        private bool taxExemptField;
        
        private bool taxExemptFieldSpecified;
        
        private bool recurringBillingField;
        
        private bool recurringBillingFieldSpecified;
        
        private string cardCodeField;
        
        private long splitTenderIdField;
        
        private bool splitTenderIdFieldSpecified;
        
        /// <remarks/>
        public long customerProfileId {
            get {
                return this.customerProfileIdField;
            }
            set {
                this.customerProfileIdField = value;
            }
        }
        
        /// <remarks/>
        public long customerPaymentProfileId {
            get {
                return this.customerPaymentProfileIdField;
            }
            set {
                this.customerPaymentProfileIdField = value;
            }
        }
        
        /// <remarks/>
        public long customerShippingAddressId {
            get {
                return this.customerShippingAddressIdField;
            }
            set {
                this.customerShippingAddressIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool customerShippingAddressIdSpecified {
            get {
                return this.customerShippingAddressIdFieldSpecified;
            }
            set {
                this.customerShippingAddressIdFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public OrderExType order {
            get {
                return this.orderField;
            }
            set {
                this.orderField = value;
            }
        }
        
        /// <remarks/>
        public bool taxExempt {
            get {
                return this.taxExemptField;
            }
            set {
                this.taxExemptField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool taxExemptSpecified {
            get {
                return this.taxExemptFieldSpecified;
            }
            set {
                this.taxExemptFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public bool recurringBilling {
            get {
                return this.recurringBillingField;
            }
            set {
                this.recurringBillingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool recurringBillingSpecified {
            get {
                return this.recurringBillingFieldSpecified;
            }
            set {
                this.recurringBillingFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string cardCode {
            get {
                return this.cardCodeField;
            }
            set {
                this.cardCodeField = value;
            }
        }
        
        /// <remarks/>
        public long splitTenderId {
            get {
                return this.splitTenderIdField;
            }
            set {
                this.splitTenderIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool splitTenderIdSpecified {
            get {
                return this.splitTenderIdFieldSpecified;
            }
            set {
                this.splitTenderIdFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class OrderExType : OrderType {
        
        private string purchaseOrderNumberField;
        
        /// <remarks/>
        public string purchaseOrderNumber {
            get {
                return this.purchaseOrderNumberField;
            }
            set {
                this.purchaseOrderNumberField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrderExType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class OrderType {
        
        private string invoiceNumberField;
        
        private string descriptionField;
        
        /// <remarks/>
        public string invoiceNumber {
            get {
                return this.invoiceNumberField;
            }
            set {
                this.invoiceNumberField = value;
            }
        }
        
        /// <remarks/>
        public string description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ProfileTransCaptureOnlyType : ProfileTransOrderType {
        
        private string approvalCodeField;
        
        /// <remarks/>
        public string approvalCode {
            get {
                return this.approvalCodeField;
            }
            set {
                this.approvalCodeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ProfileTransAuthOnlyType : ProfileTransOrderType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ProfileTransAuthCaptureType : ProfileTransOrderType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ProfileTransPriorAuthCaptureType : ProfileTransAmountType {
        
        private long customerProfileIdField;
        
        private bool customerProfileIdFieldSpecified;
        
        private long customerPaymentProfileIdField;
        
        private bool customerPaymentProfileIdFieldSpecified;
        
        private long customerShippingAddressIdField;
        
        private bool customerShippingAddressIdFieldSpecified;
        
        private string transIdField;
        
        /// <remarks/>
        public long customerProfileId {
            get {
                return this.customerProfileIdField;
            }
            set {
                this.customerProfileIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool customerProfileIdSpecified {
            get {
                return this.customerProfileIdFieldSpecified;
            }
            set {
                this.customerProfileIdFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public long customerPaymentProfileId {
            get {
                return this.customerPaymentProfileIdField;
            }
            set {
                this.customerPaymentProfileIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool customerPaymentProfileIdSpecified {
            get {
                return this.customerPaymentProfileIdFieldSpecified;
            }
            set {
                this.customerPaymentProfileIdFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public long customerShippingAddressId {
            get {
                return this.customerShippingAddressIdField;
            }
            set {
                this.customerShippingAddressIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool customerShippingAddressIdSpecified {
            get {
                return this.customerShippingAddressIdFieldSpecified;
            }
            set {
                this.customerShippingAddressIdFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string transId {
            get {
                return this.transIdField;
            }
            set {
                this.transIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ProfileTransRefundType : ProfileTransAmountType {
        
        private long customerProfileIdField;
        
        private bool customerProfileIdFieldSpecified;
        
        private long customerPaymentProfileIdField;
        
        private bool customerPaymentProfileIdFieldSpecified;
        
        private long customerShippingAddressIdField;
        
        private bool customerShippingAddressIdFieldSpecified;
        
        private string creditCardNumberMaskedField;
        
        private string bankRoutingNumberMaskedField;
        
        private string bankAccountNumberMaskedField;
        
        private OrderExType orderField;
        
        private string transIdField;
        
        /// <remarks/>
        public long customerProfileId {
            get {
                return this.customerProfileIdField;
            }
            set {
                this.customerProfileIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool customerProfileIdSpecified {
            get {
                return this.customerProfileIdFieldSpecified;
            }
            set {
                this.customerProfileIdFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public long customerPaymentProfileId {
            get {
                return this.customerPaymentProfileIdField;
            }
            set {
                this.customerPaymentProfileIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool customerPaymentProfileIdSpecified {
            get {
                return this.customerPaymentProfileIdFieldSpecified;
            }
            set {
                this.customerPaymentProfileIdFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public long customerShippingAddressId {
            get {
                return this.customerShippingAddressIdField;
            }
            set {
                this.customerShippingAddressIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool customerShippingAddressIdSpecified {
            get {
                return this.customerShippingAddressIdFieldSpecified;
            }
            set {
                this.customerShippingAddressIdFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string creditCardNumberMasked {
            get {
                return this.creditCardNumberMaskedField;
            }
            set {
                this.creditCardNumberMaskedField = value;
            }
        }
        
        /// <remarks/>
        public string bankRoutingNumberMasked {
            get {
                return this.bankRoutingNumberMaskedField;
            }
            set {
                this.bankRoutingNumberMaskedField = value;
            }
        }
        
        /// <remarks/>
        public string bankAccountNumberMasked {
            get {
                return this.bankAccountNumberMaskedField;
            }
            set {
                this.bankAccountNumberMaskedField = value;
            }
        }
        
        /// <remarks/>
        public OrderExType order {
            get {
                return this.orderField;
            }
            set {
                this.orderField = value;
            }
        }
        
        /// <remarks/>
        public string transId {
            get {
                return this.transIdField;
            }
            set {
                this.transIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ProfileTransVoidType {
        
        private long customerProfileIdField;
        
        private bool customerProfileIdFieldSpecified;
        
        private long customerPaymentProfileIdField;
        
        private bool customerPaymentProfileIdFieldSpecified;
        
        private long customerShippingAddressIdField;
        
        private bool customerShippingAddressIdFieldSpecified;
        
        private string transIdField;
        
        /// <remarks/>
        public long customerProfileId {
            get {
                return this.customerProfileIdField;
            }
            set {
                this.customerProfileIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool customerProfileIdSpecified {
            get {
                return this.customerProfileIdFieldSpecified;
            }
            set {
                this.customerProfileIdFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public long customerPaymentProfileId {
            get {
                return this.customerPaymentProfileIdField;
            }
            set {
                this.customerPaymentProfileIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool customerPaymentProfileIdSpecified {
            get {
                return this.customerPaymentProfileIdFieldSpecified;
            }
            set {
                this.customerPaymentProfileIdFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public long customerShippingAddressId {
            get {
                return this.customerShippingAddressIdField;
            }
            set {
                this.customerShippingAddressIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool customerShippingAddressIdSpecified {
            get {
                return this.customerShippingAddressIdFieldSpecified;
            }
            set {
                this.customerShippingAddressIdFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string transId {
            get {
                return this.transIdField;
            }
            set {
                this.transIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ProfileTransactionType {
        
        private object itemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("profileTransAuthCapture", typeof(ProfileTransAuthCaptureType))]
        [System.Xml.Serialization.XmlElementAttribute("profileTransAuthOnly", typeof(ProfileTransAuthOnlyType))]
        [System.Xml.Serialization.XmlElementAttribute("profileTransCaptureOnly", typeof(ProfileTransCaptureOnlyType))]
        [System.Xml.Serialization.XmlElementAttribute("profileTransPriorAuthCapture", typeof(ProfileTransPriorAuthCaptureType))]
        [System.Xml.Serialization.XmlElementAttribute("profileTransRefund", typeof(ProfileTransRefundType))]
        [System.Xml.Serialization.XmlElementAttribute("profileTransVoid", typeof(ProfileTransVoidType))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CustomerType {
        
        private CustomerTypeEnum typeField;
        
        private bool typeFieldSpecified;
        
        private string idField;
        
        private string emailField;
        
        private string phoneNumberField;
        
        private string faxNumberField;
        
        private DriversLicenseType driversLicenseField;
        
        private string taxIdField;
        
        /// <remarks/>
        public CustomerTypeEnum type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool typeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        public string email {
            get {
                return this.emailField;
            }
            set {
                this.emailField = value;
            }
        }
        
        /// <remarks/>
        public string phoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
            }
        }
        
        /// <remarks/>
        public string faxNumber {
            get {
                return this.faxNumberField;
            }
            set {
                this.faxNumberField = value;
            }
        }
        
        /// <remarks/>
        public DriversLicenseType driversLicense {
            get {
                return this.driversLicenseField;
            }
            set {
                this.driversLicenseField = value;
            }
        }
        
        /// <remarks/>
        public string taxId {
            get {
                return this.taxIdField;
            }
            set {
                this.taxIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public enum CustomerTypeEnum {
        
        /// <remarks/>
        individual,
        
        /// <remarks/>
        business,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class DriversLicenseType : DriversLicenseBaseType {
        
        private string numberField;
        
        private string dateOfBirthField;
        
        /// <remarks/>
        public string number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
            }
        }
        
        /// <remarks/>
        public string dateOfBirth {
            get {
                return this.dateOfBirthField;
            }
            set {
                this.dateOfBirthField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DriversLicenseMaskedType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DriversLicenseType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class DriversLicenseBaseType {
        
        private string stateField;
        
        /// <remarks/>
        public string state {
            get {
                return this.stateField;
            }
            set {
                this.stateField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class DriversLicenseMaskedType : DriversLicenseBaseType {
        
        private string numberField;
        
        private string dateOfBirthField;
        
        /// <remarks/>
        public string number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
            }
        }
        
        /// <remarks/>
        public string dateOfBirth {
            get {
                return this.dateOfBirthField;
            }
            set {
                this.dateOfBirthField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class PaymentScheduleTypeInterval {
        
        private short lengthField;
        
        private ARBSubscriptionUnitEnum unitField;
        
        /// <remarks/>
        public short length {
            get {
                return this.lengthField;
            }
            set {
                this.lengthField = value;
            }
        }
        
        /// <remarks/>
        public ARBSubscriptionUnitEnum unit {
            get {
                return this.unitField;
            }
            set {
                this.unitField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public enum ARBSubscriptionUnitEnum {
        
        /// <remarks/>
        days,
        
        /// <remarks/>
        months,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class PaymentScheduleType {
        
        private PaymentScheduleTypeInterval intervalField;
        
        private System.DateTime startDateField;
        
        private bool startDateFieldSpecified;
        
        private short totalOccurrencesField;
        
        private bool totalOccurrencesFieldSpecified;
        
        private short trialOccurrencesField;
        
        private bool trialOccurrencesFieldSpecified;
        
        /// <remarks/>
        public PaymentScheduleTypeInterval interval {
            get {
                return this.intervalField;
            }
            set {
                this.intervalField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date")]
        public System.DateTime startDate {
            get {
                return this.startDateField;
            }
            set {
                this.startDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool startDateSpecified {
            get {
                return this.startDateFieldSpecified;
            }
            set {
                this.startDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public short totalOccurrences {
            get {
                return this.totalOccurrencesField;
            }
            set {
                this.totalOccurrencesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool totalOccurrencesSpecified {
            get {
                return this.totalOccurrencesFieldSpecified;
            }
            set {
                this.totalOccurrencesFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public short trialOccurrences {
            get {
                return this.trialOccurrencesField;
            }
            set {
                this.trialOccurrencesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool trialOccurrencesSpecified {
            get {
                return this.trialOccurrencesFieldSpecified;
            }
            set {
                this.trialOccurrencesFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ARBSubscriptionType {
        
        private string nameField;
        
        private PaymentScheduleType paymentScheduleField;
        
        private decimal amountField;
        
        private bool amountFieldSpecified;
        
        private decimal trialAmountField;
        
        private bool trialAmountFieldSpecified;
        
        private PaymentType paymentField;
        
        private OrderType orderField;
        
        private CustomerType customerField;
        
        private NameAndAddressType billToField;
        
        private NameAndAddressType shipToField;
        
        /// <remarks/>
        public string name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        public PaymentScheduleType paymentSchedule {
            get {
                return this.paymentScheduleField;
            }
            set {
                this.paymentScheduleField = value;
            }
        }
        
        /// <remarks/>
        public decimal amount {
            get {
                return this.amountField;
            }
            set {
                this.amountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool amountSpecified {
            get {
                return this.amountFieldSpecified;
            }
            set {
                this.amountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public decimal trialAmount {
            get {
                return this.trialAmountField;
            }
            set {
                this.trialAmountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool trialAmountSpecified {
            get {
                return this.trialAmountFieldSpecified;
            }
            set {
                this.trialAmountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public PaymentType payment {
            get {
                return this.paymentField;
            }
            set {
                this.paymentField = value;
            }
        }
        
        /// <remarks/>
        public OrderType order {
            get {
                return this.orderField;
            }
            set {
                this.orderField = value;
            }
        }
        
        /// <remarks/>
        public CustomerType customer {
            get {
                return this.customerField;
            }
            set {
                this.customerField = value;
            }
        }
        
        /// <remarks/>
        public NameAndAddressType billTo {
            get {
                return this.billToField;
            }
            set {
                this.billToField = value;
            }
        }
        
        /// <remarks/>
        public NameAndAddressType shipTo {
            get {
                return this.shipToField;
            }
            set {
                this.shipToField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class PaymentType {
        
        private object itemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("bankAccount", typeof(BankAccountType))]
        [System.Xml.Serialization.XmlElementAttribute("creditCard", typeof(CreditCardType))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class BankAccountType : BankAccountBaseType {
        
        private string routingNumberField;
        
        private string accountNumberField;
        
        /// <remarks/>
        public string routingNumber {
            get {
                return this.routingNumberField;
            }
            set {
                this.routingNumberField = value;
            }
        }
        
        /// <remarks/>
        public string accountNumber {
            get {
                return this.accountNumberField;
            }
            set {
                this.accountNumberField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BankAccountMaskedType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BankAccountType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class BankAccountBaseType {
        
        private BankAccountTypeEnum accountTypeField;
        
        private bool accountTypeFieldSpecified;
        
        private string nameOnAccountField;
        
        private EcheckTypeEnum echeckTypeField;
        
        private bool echeckTypeFieldSpecified;
        
        private string bankNameField;
        
        /// <remarks/>
        public BankAccountTypeEnum accountType {
            get {
                return this.accountTypeField;
            }
            set {
                this.accountTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool accountTypeSpecified {
            get {
                return this.accountTypeFieldSpecified;
            }
            set {
                this.accountTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string nameOnAccount {
            get {
                return this.nameOnAccountField;
            }
            set {
                this.nameOnAccountField = value;
            }
        }
        
        /// <remarks/>
        public EcheckTypeEnum echeckType {
            get {
                return this.echeckTypeField;
            }
            set {
                this.echeckTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool echeckTypeSpecified {
            get {
                return this.echeckTypeFieldSpecified;
            }
            set {
                this.echeckTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string bankName {
            get {
                return this.bankNameField;
            }
            set {
                this.bankNameField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public enum BankAccountTypeEnum {
        
        /// <remarks/>
        checking,
        
        /// <remarks/>
        savings,
        
        /// <remarks/>
        businessChecking,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public enum EcheckTypeEnum {
        
        /// <remarks/>
        PPD,
        
        /// <remarks/>
        WEB,
        
        /// <remarks/>
        CCD,
        
        /// <remarks/>
        TEL,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class BankAccountMaskedType : BankAccountBaseType {
        
        private string routingNumberField;
        
        private string accountNumberField;
        
        /// <remarks/>
        public string routingNumber {
            get {
                return this.routingNumberField;
            }
            set {
                this.routingNumberField = value;
            }
        }
        
        /// <remarks/>
        public string accountNumber {
            get {
                return this.accountNumberField;
            }
            set {
                this.accountNumberField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CreditCardType : CreditCardSimpleType {
        
        private string cardCodeField;
        
        /// <remarks/>
        public string cardCode {
            get {
                return this.cardCodeField;
            }
            set {
                this.cardCodeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CreditCardType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CreditCardSimpleType {
        
        private string cardNumberField;
        
        private string expirationDateField;
        
        /// <remarks/>
        public string cardNumber {
            get {
                return this.cardNumberField;
            }
            set {
                this.cardNumberField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="gYearMonth")]
        public string expirationDate {
            get {
                return this.expirationDateField;
            }
            set {
                this.expirationDateField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CustomerAddressType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CustomerAddressExType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class NameAndAddressType {
        
        private string firstNameField;
        
        private string lastNameField;
        
        private string companyField;
        
        private string addressField;
        
        private string cityField;
        
        private string stateField;
        
        private string zipField;
        
        private string countryField;
        
        /// <remarks/>
        public string firstName {
            get {
                return this.firstNameField;
            }
            set {
                this.firstNameField = value;
            }
        }
        
        /// <remarks/>
        public string lastName {
            get {
                return this.lastNameField;
            }
            set {
                this.lastNameField = value;
            }
        }
        
        /// <remarks/>
        public string company {
            get {
                return this.companyField;
            }
            set {
                this.companyField = value;
            }
        }
        
        /// <remarks/>
        public string address {
            get {
                return this.addressField;
            }
            set {
                this.addressField = value;
            }
        }
        
        /// <remarks/>
        public string city {
            get {
                return this.cityField;
            }
            set {
                this.cityField = value;
            }
        }
        
        /// <remarks/>
        public string state {
            get {
                return this.stateField;
            }
            set {
                this.stateField = value;
            }
        }
        
        /// <remarks/>
        public string zip {
            get {
                return this.zipField;
            }
            set {
                this.zipField = value;
            }
        }
        
        /// <remarks/>
        public string country {
            get {
                return this.countryField;
            }
            set {
                this.countryField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CustomerAddressExType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CustomerAddressType : NameAndAddressType {
        
        private string phoneNumberField;
        
        private string faxNumberField;
        
        /// <remarks/>
        public string phoneNumber {
            get {
                return this.phoneNumberField;
            }
            set {
                this.phoneNumberField = value;
            }
        }
        
        /// <remarks/>
        public string faxNumber {
            get {
                return this.faxNumberField;
            }
            set {
                this.faxNumberField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CustomerAddressExType : CustomerAddressType {
        
        private long customerAddressIdField;
        
        /// <remarks/>
        public long customerAddressId {
            get {
                return this.customerAddressIdField;
            }
            set {
                this.customerAddressIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class MerchantAuthenticationType {
        
        private string nameField;
        
        private string transactionKeyField;
        
        /// <remarks/>
        public string name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        public string transactionKey {
            get {
                return this.transactionKeyField;
            }
            set {
                this.transactionKeyField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class TransactionSummaryType {
        
        private string transIdField;
        
        private System.DateTime submitTimeUTCField;
        
        private System.DateTime submitTimeLocalField;
        
        private string transactionStatusField;
        
        private string invoiceNumberField;
        
        private string firstNameField;
        
        private string lastNameField;
        
        private string accountTypeField;
        
        private string accountNumberField;
        
        private decimal settleAmountField;
        
        /// <remarks/>
        public string transId {
            get {
                return this.transIdField;
            }
            set {
                this.transIdField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime submitTimeUTC {
            get {
                return this.submitTimeUTCField;
            }
            set {
                this.submitTimeUTCField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime submitTimeLocal {
            get {
                return this.submitTimeLocalField;
            }
            set {
                this.submitTimeLocalField = value;
            }
        }
        
        /// <remarks/>
        public string transactionStatus {
            get {
                return this.transactionStatusField;
            }
            set {
                this.transactionStatusField = value;
            }
        }
        
        /// <remarks/>
        public string invoiceNumber {
            get {
                return this.invoiceNumberField;
            }
            set {
                this.invoiceNumberField = value;
            }
        }
        
        /// <remarks/>
        public string firstName {
            get {
                return this.firstNameField;
            }
            set {
                this.firstNameField = value;
            }
        }
        
        /// <remarks/>
        public string lastName {
            get {
                return this.lastNameField;
            }
            set {
                this.lastNameField = value;
            }
        }
        
        /// <remarks/>
        public string accountType {
            get {
                return this.accountTypeField;
            }
            set {
                this.accountTypeField = value;
            }
        }
        
        /// <remarks/>
        public string accountNumber {
            get {
                return this.accountNumberField;
            }
            set {
                this.accountNumberField = value;
            }
        }
        
        /// <remarks/>
        public decimal settleAmount {
            get {
                return this.settleAmountField;
            }
            set {
                this.settleAmountField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CustomerDataType {
        
        private CustomerTypeEnum typeField;
        
        private bool typeFieldSpecified;
        
        private string idField;
        
        private string emailField;
        
        private DriversLicenseType driversLicenseField;
        
        private string taxIdField;
        
        /// <remarks/>
        public CustomerTypeEnum type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool typeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        public string email {
            get {
                return this.emailField;
            }
            set {
                this.emailField = value;
            }
        }
        
        /// <remarks/>
        public DriversLicenseType driversLicense {
            get {
                return this.driversLicenseField;
            }
            set {
                this.driversLicenseField = value;
            }
        }
        
        /// <remarks/>
        public string taxId {
            get {
                return this.taxIdField;
            }
            set {
                this.taxIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class BatchStatisticType {
        
        private string accountTypeField;
        
        private string currencyCodeField;
        
        private decimal chargeAmountField;
        
        private int chargeCountField;
        
        private decimal refundAmountField;
        
        private int refundCountField;
        
        private int voidCountField;
        
        private int declineCountField;
        
        private int errorCountField;
        
        private decimal returnedItemAmountField;
        
        private bool returnedItemAmountFieldSpecified;
        
        private bool returnedItemAmountSpecified1Field;
        
        private int returnedItemCountField;
        
        private bool returnedItemCountFieldSpecified;
        
        private bool returnedItemCountSpecified1Field;
        
        private decimal chargebackAmountField;
        
        private bool chargebackAmountFieldSpecified;
        
        private bool chargebackAmountSpecified1Field;
        
        private int chargebackCountField;
        
        private bool chargebackCountFieldSpecified;
        
        private bool chargebackCountSpecified1Field;
        
        private int correctionNoticeCountField;
        
        private bool correctionNoticeCountFieldSpecified;
        
        private bool correctionNoticeCountSpecified1Field;
        
        private decimal chargeChargeBackAmountField;
        
        private bool chargeChargeBackAmountFieldSpecified;
        
        private bool chargeChargeBackAmountSpecified1Field;
        
        private int chargeChargeBackCountField;
        
        private bool chargeChargeBackCountFieldSpecified;
        
        private bool chargeChargeBackCountSpecified1Field;
        
        private decimal refundChargeBackAmountField;
        
        private bool refundChargeBackAmountFieldSpecified;
        
        private bool refundChargeBackAmountSpecified1Field;
        
        private int refundChargeBackCountField;
        
        private bool refundChargeBackCountFieldSpecified;
        
        private bool refundChargeBackCountSpecified1Field;
        
        private decimal chargeReturnedItemsAmountField;
        
        private bool chargeReturnedItemsAmountFieldSpecified;
        
        private bool chargeReturnedItemsAmountSpecified1Field;
        
        private int chargeReturnedItemsCountField;
        
        private bool chargeReturnedItemsCountFieldSpecified;
        
        private bool chargeReturnedItemsCountSpecified1Field;
        
        private decimal refundReturnedItemsAmountField;
        
        private bool refundReturnedItemsAmountFieldSpecified;
        
        private bool refundReturnedItemsAmountSpecified1Field;
        
        private int refundReturnedItemsCountField;
        
        private bool refundReturnedItemsCountFieldSpecified;
        
        private bool refundReturnedItemsCountSpecified1Field;
        
        /// <remarks/>
        public string accountType {
            get {
                return this.accountTypeField;
            }
            set {
                this.accountTypeField = value;
            }
        }
        
        /// <remarks/>
        public string currencyCode {
            get {
                return this.currencyCodeField;
            }
            set {
                this.currencyCodeField = value;
            }
        }
        
        /// <remarks/>
        public decimal chargeAmount {
            get {
                return this.chargeAmountField;
            }
            set {
                this.chargeAmountField = value;
            }
        }
        
        /// <remarks/>
        public int chargeCount {
            get {
                return this.chargeCountField;
            }
            set {
                this.chargeCountField = value;
            }
        }
        
        /// <remarks/>
        public decimal refundAmount {
            get {
                return this.refundAmountField;
            }
            set {
                this.refundAmountField = value;
            }
        }
        
        /// <remarks/>
        public int refundCount {
            get {
                return this.refundCountField;
            }
            set {
                this.refundCountField = value;
            }
        }
        
        /// <remarks/>
        public int voidCount {
            get {
                return this.voidCountField;
            }
            set {
                this.voidCountField = value;
            }
        }
        
        /// <remarks/>
        public int declineCount {
            get {
                return this.declineCountField;
            }
            set {
                this.declineCountField = value;
            }
        }
        
        /// <remarks/>
        public int errorCount {
            get {
                return this.errorCountField;
            }
            set {
                this.errorCountField = value;
            }
        }
        
        /// <remarks/>
        public decimal returnedItemAmount {
            get {
                return this.returnedItemAmountField;
            }
            set {
                this.returnedItemAmountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool returnedItemAmountSpecified {
            get {
                return this.returnedItemAmountFieldSpecified;
            }
            set {
                this.returnedItemAmountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("returnedItemAmountSpecified")]
        public bool returnedItemAmountSpecified1 {
            get {
                return this.returnedItemAmountSpecified1Field;
            }
            set {
                this.returnedItemAmountSpecified1Field = value;
            }
        }
        
        /// <remarks/>
        public int returnedItemCount {
            get {
                return this.returnedItemCountField;
            }
            set {
                this.returnedItemCountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool returnedItemCountSpecified {
            get {
                return this.returnedItemCountFieldSpecified;
            }
            set {
                this.returnedItemCountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("returnedItemCountSpecified")]
        public bool returnedItemCountSpecified1 {
            get {
                return this.returnedItemCountSpecified1Field;
            }
            set {
                this.returnedItemCountSpecified1Field = value;
            }
        }
        
        /// <remarks/>
        public decimal chargebackAmount {
            get {
                return this.chargebackAmountField;
            }
            set {
                this.chargebackAmountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool chargebackAmountSpecified {
            get {
                return this.chargebackAmountFieldSpecified;
            }
            set {
                this.chargebackAmountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("chargebackAmountSpecified")]
        public bool chargebackAmountSpecified1 {
            get {
                return this.chargebackAmountSpecified1Field;
            }
            set {
                this.chargebackAmountSpecified1Field = value;
            }
        }
        
        /// <remarks/>
        public int chargebackCount {
            get {
                return this.chargebackCountField;
            }
            set {
                this.chargebackCountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool chargebackCountSpecified {
            get {
                return this.chargebackCountFieldSpecified;
            }
            set {
                this.chargebackCountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("chargebackCountSpecified")]
        public bool chargebackCountSpecified1 {
            get {
                return this.chargebackCountSpecified1Field;
            }
            set {
                this.chargebackCountSpecified1Field = value;
            }
        }
        
        /// <remarks/>
        public int correctionNoticeCount {
            get {
                return this.correctionNoticeCountField;
            }
            set {
                this.correctionNoticeCountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool correctionNoticeCountSpecified {
            get {
                return this.correctionNoticeCountFieldSpecified;
            }
            set {
                this.correctionNoticeCountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("correctionNoticeCountSpecified")]
        public bool correctionNoticeCountSpecified1 {
            get {
                return this.correctionNoticeCountSpecified1Field;
            }
            set {
                this.correctionNoticeCountSpecified1Field = value;
            }
        }
        
        /// <remarks/>
        public decimal chargeChargeBackAmount {
            get {
                return this.chargeChargeBackAmountField;
            }
            set {
                this.chargeChargeBackAmountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool chargeChargeBackAmountSpecified {
            get {
                return this.chargeChargeBackAmountFieldSpecified;
            }
            set {
                this.chargeChargeBackAmountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("chargeChargeBackAmountSpecified")]
        public bool chargeChargeBackAmountSpecified1 {
            get {
                return this.chargeChargeBackAmountSpecified1Field;
            }
            set {
                this.chargeChargeBackAmountSpecified1Field = value;
            }
        }
        
        /// <remarks/>
        public int chargeChargeBackCount {
            get {
                return this.chargeChargeBackCountField;
            }
            set {
                this.chargeChargeBackCountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool chargeChargeBackCountSpecified {
            get {
                return this.chargeChargeBackCountFieldSpecified;
            }
            set {
                this.chargeChargeBackCountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("chargeChargeBackCountSpecified")]
        public bool chargeChargeBackCountSpecified1 {
            get {
                return this.chargeChargeBackCountSpecified1Field;
            }
            set {
                this.chargeChargeBackCountSpecified1Field = value;
            }
        }
        
        /// <remarks/>
        public decimal refundChargeBackAmount {
            get {
                return this.refundChargeBackAmountField;
            }
            set {
                this.refundChargeBackAmountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool refundChargeBackAmountSpecified {
            get {
                return this.refundChargeBackAmountFieldSpecified;
            }
            set {
                this.refundChargeBackAmountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("refundChargeBackAmountSpecified")]
        public bool refundChargeBackAmountSpecified1 {
            get {
                return this.refundChargeBackAmountSpecified1Field;
            }
            set {
                this.refundChargeBackAmountSpecified1Field = value;
            }
        }
        
        /// <remarks/>
        public int refundChargeBackCount {
            get {
                return this.refundChargeBackCountField;
            }
            set {
                this.refundChargeBackCountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool refundChargeBackCountSpecified {
            get {
                return this.refundChargeBackCountFieldSpecified;
            }
            set {
                this.refundChargeBackCountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("refundChargeBackCountSpecified")]
        public bool refundChargeBackCountSpecified1 {
            get {
                return this.refundChargeBackCountSpecified1Field;
            }
            set {
                this.refundChargeBackCountSpecified1Field = value;
            }
        }
        
        /// <remarks/>
        public decimal chargeReturnedItemsAmount {
            get {
                return this.chargeReturnedItemsAmountField;
            }
            set {
                this.chargeReturnedItemsAmountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool chargeReturnedItemsAmountSpecified {
            get {
                return this.chargeReturnedItemsAmountFieldSpecified;
            }
            set {
                this.chargeReturnedItemsAmountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("chargeReturnedItemsAmountSpecified")]
        public bool chargeReturnedItemsAmountSpecified1 {
            get {
                return this.chargeReturnedItemsAmountSpecified1Field;
            }
            set {
                this.chargeReturnedItemsAmountSpecified1Field = value;
            }
        }
        
        /// <remarks/>
        public int chargeReturnedItemsCount {
            get {
                return this.chargeReturnedItemsCountField;
            }
            set {
                this.chargeReturnedItemsCountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool chargeReturnedItemsCountSpecified {
            get {
                return this.chargeReturnedItemsCountFieldSpecified;
            }
            set {
                this.chargeReturnedItemsCountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("chargeReturnedItemsCountSpecified")]
        public bool chargeReturnedItemsCountSpecified1 {
            get {
                return this.chargeReturnedItemsCountSpecified1Field;
            }
            set {
                this.chargeReturnedItemsCountSpecified1Field = value;
            }
        }
        
        /// <remarks/>
        public decimal refundReturnedItemsAmount {
            get {
                return this.refundReturnedItemsAmountField;
            }
            set {
                this.refundReturnedItemsAmountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool refundReturnedItemsAmountSpecified {
            get {
                return this.refundReturnedItemsAmountFieldSpecified;
            }
            set {
                this.refundReturnedItemsAmountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("refundReturnedItemsAmountSpecified")]
        public bool refundReturnedItemsAmountSpecified1 {
            get {
                return this.refundReturnedItemsAmountSpecified1Field;
            }
            set {
                this.refundReturnedItemsAmountSpecified1Field = value;
            }
        }
        
        /// <remarks/>
        public int refundReturnedItemsCount {
            get {
                return this.refundReturnedItemsCountField;
            }
            set {
                this.refundReturnedItemsCountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool refundReturnedItemsCountSpecified {
            get {
                return this.refundReturnedItemsCountFieldSpecified;
            }
            set {
                this.refundReturnedItemsCountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("refundReturnedItemsCountSpecified")]
        public bool refundReturnedItemsCountSpecified1 {
            get {
                return this.refundReturnedItemsCountSpecified1Field;
            }
            set {
                this.refundReturnedItemsCountSpecified1Field = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class BatchDetailsType {
        
        private string batchIdField;
        
        private System.DateTime settlementTimeUTCField;
        
        private bool settlementTimeUTCFieldSpecified;
        
        private System.DateTime settlementTimeLocalField;
        
        private bool settlementTimeLocalFieldSpecified;
        
        private string settlementStateField;
        
        private string paymentMethodField;
        
        private BatchStatisticType[] statisticsField;
        
        /// <remarks/>
        public string batchId {
            get {
                return this.batchIdField;
            }
            set {
                this.batchIdField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime settlementTimeUTC {
            get {
                return this.settlementTimeUTCField;
            }
            set {
                this.settlementTimeUTCField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool settlementTimeUTCSpecified {
            get {
                return this.settlementTimeUTCFieldSpecified;
            }
            set {
                this.settlementTimeUTCFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime settlementTimeLocal {
            get {
                return this.settlementTimeLocalField;
            }
            set {
                this.settlementTimeLocalField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool settlementTimeLocalSpecified {
            get {
                return this.settlementTimeLocalFieldSpecified;
            }
            set {
                this.settlementTimeLocalFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string settlementState {
            get {
                return this.settlementStateField;
            }
            set {
                this.settlementStateField = value;
            }
        }
        
        /// <remarks/>
        public string paymentMethod {
            get {
                return this.paymentMethodField;
            }
            set {
                this.paymentMethodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("statistic", IsNullable=false)]
        public BatchStatisticType[] statistics {
            get {
                return this.statisticsField;
            }
            set {
                this.statisticsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class FDSFilterType {
        
        private string nameField;
        
        private string actionField;
        
        /// <remarks/>
        public string name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        public string action {
            get {
                return this.actionField;
            }
            set {
                this.actionField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class TransactionDetailsType {
        
        private string transIdField;
        
        private string refTransIdField;
        
        private long splitTenderIdField;
        
        private bool splitTenderIdFieldSpecified;
        
        private System.DateTime submitTimeUTCField;
        
        private System.DateTime submitTimeLocalField;
        
        private string transactionTypeField;
        
        private string transactionStatusField;
        
        private int responseCodeField;
        
        private int responseReasonCodeField;
        
        private string responseReasonDescriptionField;
        
        private string authCodeField;
        
        private string aVSResponseField;
        
        private string cardCodeResponseField;
        
        private string cAVVResponseField;
        
        private string fDSFilterActionField;
        
        private FDSFilterType[] fDSFiltersField;
        
        private BatchDetailsType batchField;
        
        private OrderExType orderField;
        
        private decimal requestedAmountField;
        
        private bool requestedAmountFieldSpecified;
        
        private decimal authAmountField;
        
        private decimal settleAmountField;
        
        private ExtendedAmountType taxField;
        
        private ExtendedAmountType shippingField;
        
        private ExtendedAmountType dutyField;
        
        private LineItemType[] lineItemsField;
        
        private decimal prepaidBalanceRemainingField;
        
        private bool prepaidBalanceRemainingFieldSpecified;
        
        private string currencyCodeField;
        
        private bool taxExemptField;
        
        private bool taxExemptFieldSpecified;
        
        private PaymentMaskedType paymentField;
        
        private CustomerDataType customerField;
        
        private CustomerAddressType billToField;
        
        private NameAndAddressType shipToField;
        
        private bool recurringBillingField;
        
        private bool recurringBillingFieldSpecified;
        
        private string customerIPField;
        
        /// <remarks/>
        public string transId {
            get {
                return this.transIdField;
            }
            set {
                this.transIdField = value;
            }
        }
        
        /// <remarks/>
        public string refTransId {
            get {
                return this.refTransIdField;
            }
            set {
                this.refTransIdField = value;
            }
        }
        
        /// <remarks/>
        public long splitTenderId {
            get {
                return this.splitTenderIdField;
            }
            set {
                this.splitTenderIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool splitTenderIdSpecified {
            get {
                return this.splitTenderIdFieldSpecified;
            }
            set {
                this.splitTenderIdFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime submitTimeUTC {
            get {
                return this.submitTimeUTCField;
            }
            set {
                this.submitTimeUTCField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime submitTimeLocal {
            get {
                return this.submitTimeLocalField;
            }
            set {
                this.submitTimeLocalField = value;
            }
        }
        
        /// <remarks/>
        public string transactionType {
            get {
                return this.transactionTypeField;
            }
            set {
                this.transactionTypeField = value;
            }
        }
        
        /// <remarks/>
        public string transactionStatus {
            get {
                return this.transactionStatusField;
            }
            set {
                this.transactionStatusField = value;
            }
        }
        
        /// <remarks/>
        public int responseCode {
            get {
                return this.responseCodeField;
            }
            set {
                this.responseCodeField = value;
            }
        }
        
        /// <remarks/>
        public int responseReasonCode {
            get {
                return this.responseReasonCodeField;
            }
            set {
                this.responseReasonCodeField = value;
            }
        }
        
        /// <remarks/>
        public string responseReasonDescription {
            get {
                return this.responseReasonDescriptionField;
            }
            set {
                this.responseReasonDescriptionField = value;
            }
        }
        
        /// <remarks/>
        public string authCode {
            get {
                return this.authCodeField;
            }
            set {
                this.authCodeField = value;
            }
        }
        
        /// <remarks/>
        public string AVSResponse {
            get {
                return this.aVSResponseField;
            }
            set {
                this.aVSResponseField = value;
            }
        }
        
        /// <remarks/>
        public string cardCodeResponse {
            get {
                return this.cardCodeResponseField;
            }
            set {
                this.cardCodeResponseField = value;
            }
        }
        
        /// <remarks/>
        public string CAVVResponse {
            get {
                return this.cAVVResponseField;
            }
            set {
                this.cAVVResponseField = value;
            }
        }
        
        /// <remarks/>
        public string FDSFilterAction {
            get {
                return this.fDSFilterActionField;
            }
            set {
                this.fDSFilterActionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("FDSFilter", IsNullable=false)]
        public FDSFilterType[] FDSFilters {
            get {
                return this.fDSFiltersField;
            }
            set {
                this.fDSFiltersField = value;
            }
        }
        
        /// <remarks/>
        public BatchDetailsType batch {
            get {
                return this.batchField;
            }
            set {
                this.batchField = value;
            }
        }
        
        /// <remarks/>
        public OrderExType order {
            get {
                return this.orderField;
            }
            set {
                this.orderField = value;
            }
        }
        
        /// <remarks/>
        public decimal requestedAmount {
            get {
                return this.requestedAmountField;
            }
            set {
                this.requestedAmountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool requestedAmountSpecified {
            get {
                return this.requestedAmountFieldSpecified;
            }
            set {
                this.requestedAmountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public decimal authAmount {
            get {
                return this.authAmountField;
            }
            set {
                this.authAmountField = value;
            }
        }
        
        /// <remarks/>
        public decimal settleAmount {
            get {
                return this.settleAmountField;
            }
            set {
                this.settleAmountField = value;
            }
        }
        
        /// <remarks/>
        public ExtendedAmountType tax {
            get {
                return this.taxField;
            }
            set {
                this.taxField = value;
            }
        }
        
        /// <remarks/>
        public ExtendedAmountType shipping {
            get {
                return this.shippingField;
            }
            set {
                this.shippingField = value;
            }
        }
        
        /// <remarks/>
        public ExtendedAmountType duty {
            get {
                return this.dutyField;
            }
            set {
                this.dutyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("lineItems")]
        public LineItemType[] lineItems {
            get {
                return this.lineItemsField;
            }
            set {
                this.lineItemsField = value;
            }
        }
        
        /// <remarks/>
        public decimal prepaidBalanceRemaining {
            get {
                return this.prepaidBalanceRemainingField;
            }
            set {
                this.prepaidBalanceRemainingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool prepaidBalanceRemainingSpecified {
            get {
                return this.prepaidBalanceRemainingFieldSpecified;
            }
            set {
                this.prepaidBalanceRemainingFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string currencyCode {
            get {
                return this.currencyCodeField;
            }
            set {
                this.currencyCodeField = value;
            }
        }
        
        /// <remarks/>
        public bool taxExempt {
            get {
                return this.taxExemptField;
            }
            set {
                this.taxExemptField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool taxExemptSpecified {
            get {
                return this.taxExemptFieldSpecified;
            }
            set {
                this.taxExemptFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public PaymentMaskedType payment {
            get {
                return this.paymentField;
            }
            set {
                this.paymentField = value;
            }
        }
        
        /// <remarks/>
        public CustomerDataType customer {
            get {
                return this.customerField;
            }
            set {
                this.customerField = value;
            }
        }
        
        /// <remarks/>
        public CustomerAddressType billTo {
            get {
                return this.billToField;
            }
            set {
                this.billToField = value;
            }
        }
        
        /// <remarks/>
        public NameAndAddressType shipTo {
            get {
                return this.shipToField;
            }
            set {
                this.shipToField = value;
            }
        }
        
        /// <remarks/>
        public bool recurringBilling {
            get {
                return this.recurringBillingField;
            }
            set {
                this.recurringBillingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool recurringBillingSpecified {
            get {
                return this.recurringBillingFieldSpecified;
            }
            set {
                this.recurringBillingFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string customerIP {
            get {
                return this.customerIPField;
            }
            set {
                this.customerIPField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class PaymentMaskedType {
        
        private object itemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("bankAccount", typeof(BankAccountMaskedType))]
        [System.Xml.Serialization.XmlElementAttribute("creditCard", typeof(CreditCardMaskedType))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CreditCardMaskedType {
        
        private string cardNumberField;
        
        private string expirationDateField;
        
        private string cardTypeField;
        
        /// <remarks/>
        public string cardNumber {
            get {
                return this.cardNumberField;
            }
            set {
                this.cardNumberField = value;
            }
        }
        
        /// <remarks/>
        public string expirationDate {
            get {
                return this.expirationDateField;
            }
            set {
                this.expirationDateField = value;
            }
        }
        
        /// <remarks/>
        public string cardType {
            get {
                return this.cardTypeField;
            }
            set {
                this.cardTypeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CustomerPaymentProfileMaskedType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CustomerPaymentProfileType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CustomerPaymentProfileExType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CustomerPaymentProfileBaseType {
        
        private CustomerTypeEnum customerTypeField;
        
        private bool customerTypeFieldSpecified;
        
        private CustomerAddressType billToField;
        
        /// <remarks/>
        public CustomerTypeEnum customerType {
            get {
                return this.customerTypeField;
            }
            set {
                this.customerTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool customerTypeSpecified {
            get {
                return this.customerTypeFieldSpecified;
            }
            set {
                this.customerTypeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public CustomerAddressType billTo {
            get {
                return this.billToField;
            }
            set {
                this.billToField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CustomerPaymentProfileMaskedType : CustomerPaymentProfileBaseType {
        
        private long customerPaymentProfileIdField;
        
        private PaymentMaskedType paymentField;
        
        private DriversLicenseMaskedType driversLicenseField;
        
        private string taxIdField;
        
        /// <remarks/>
        public long customerPaymentProfileId {
            get {
                return this.customerPaymentProfileIdField;
            }
            set {
                this.customerPaymentProfileIdField = value;
            }
        }
        
        /// <remarks/>
        public PaymentMaskedType payment {
            get {
                return this.paymentField;
            }
            set {
                this.paymentField = value;
            }
        }
        
        /// <remarks/>
        public DriversLicenseMaskedType driversLicense {
            get {
                return this.driversLicenseField;
            }
            set {
                this.driversLicenseField = value;
            }
        }
        
        /// <remarks/>
        public string taxId {
            get {
                return this.taxIdField;
            }
            set {
                this.taxIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CustomerPaymentProfileExType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CustomerPaymentProfileType : CustomerPaymentProfileBaseType {
        
        private PaymentType paymentField;
        
        private DriversLicenseType driversLicenseField;
        
        private string taxIdField;
        
        /// <remarks/>
        public PaymentType payment {
            get {
                return this.paymentField;
            }
            set {
                this.paymentField = value;
            }
        }
        
        /// <remarks/>
        public DriversLicenseType driversLicense {
            get {
                return this.driversLicenseField;
            }
            set {
                this.driversLicenseField = value;
            }
        }
        
        /// <remarks/>
        public string taxId {
            get {
                return this.taxIdField;
            }
            set {
                this.taxIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CustomerPaymentProfileExType : CustomerPaymentProfileType {
        
        private long customerPaymentProfileIdField;
        
        /// <remarks/>
        public long customerPaymentProfileId {
            get {
                return this.customerPaymentProfileIdField;
            }
            set {
                this.customerPaymentProfileIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CustomerProfileExType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CustomerProfileMaskedType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CustomerProfileType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CustomerProfileBaseType {
        
        private string merchantCustomerIdField;
        
        private string descriptionField;
        
        private string emailField;
        
        /// <remarks/>
        public string merchantCustomerId {
            get {
                return this.merchantCustomerIdField;
            }
            set {
                this.merchantCustomerIdField = value;
            }
        }
        
        /// <remarks/>
        public string description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
        
        /// <remarks/>
        public string email {
            get {
                return this.emailField;
            }
            set {
                this.emailField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CustomerProfileMaskedType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CustomerProfileExType : CustomerProfileBaseType {
        
        private long customerProfileIdField;
        
        /// <remarks/>
        public long customerProfileId {
            get {
                return this.customerProfileIdField;
            }
            set {
                this.customerProfileIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CustomerProfileMaskedType : CustomerProfileExType {
        
        private CustomerPaymentProfileMaskedType[] paymentProfilesField;
        
        private CustomerAddressExType[] shipToListField;
        
        /// <remarks/>
        public CustomerPaymentProfileMaskedType[] paymentProfiles {
            get {
                return this.paymentProfilesField;
            }
            set {
                this.paymentProfilesField = value;
            }
        }
        
        /// <remarks/>
        public CustomerAddressExType[] shipToList {
            get {
                return this.shipToListField;
            }
            set {
                this.shipToListField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CustomerProfileType : CustomerProfileBaseType {
        
        private CustomerPaymentProfileType[] paymentProfilesField;
        
        private CustomerAddressType[] shipToListField;
        
        /// <remarks/>
        public CustomerPaymentProfileType[] paymentProfiles {
            get {
                return this.paymentProfilesField;
            }
            set {
                this.paymentProfilesField = value;
            }
        }
        
        /// <remarks/>
        public CustomerAddressType[] shipToList {
            get {
                return this.shipToListField;
            }
            set {
                this.shipToListField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class GetUnsettledTransactionListResponseType : ANetApiResponseType {
        
        private TransactionSummaryType[] transactionsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("transaction", IsNullable=false)]
        public TransactionSummaryType[] transactions {
            get {
                return this.transactionsField;
            }
            set {
                this.transactionsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class GetTransactionListResponseType : ANetApiResponseType {
        
        private TransactionSummaryType[] transactionsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("transaction", IsNullable=false)]
        public TransactionSummaryType[] transactions {
            get {
                return this.transactionsField;
            }
            set {
                this.transactionsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class GetBatchStatisticsResponseType : ANetApiResponseType {
        
        private BatchDetailsType batchField;
        
        /// <remarks/>
        public BatchDetailsType batch {
            get {
                return this.batchField;
            }
            set {
                this.batchField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class GetSettledBatchListResponseType : ANetApiResponseType {
        
        private BatchDetailsType[] batchListField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("batch", IsNullable=false)]
        public BatchDetailsType[] batchList {
            get {
                return this.batchListField;
            }
            set {
                this.batchListField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class GetTransactionDetailsResponseType : ANetApiResponseType {
        
        private TransactionDetailsType transactionField;
        
        /// <remarks/>
        public TransactionDetailsType transaction {
            get {
                return this.transactionField;
            }
            set {
                this.transactionField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class UpdateSplitTenderGroupResponseType : ANetApiResponseType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class GetHostedProfilePageResponseType : ANetApiResponseType {
        
        private string tokenField;
        
        /// <remarks/>
        public string token {
            get {
                return this.tokenField;
            }
            set {
                this.tokenField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class GetCustomerProfileIdsResponseType : ANetApiResponseType {
        
        private long[] idsField;
        
        /// <remarks/>
        public long[] ids {
            get {
                return this.idsField;
            }
            set {
                this.idsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ValidateCustomerPaymentProfileResponseType : ANetApiResponseType {
        
        private string directResponseField;
        
        /// <remarks/>
        public string directResponse {
            get {
                return this.directResponseField;
            }
            set {
                this.directResponseField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CreateCustomerProfileTransactionResponseType : ANetApiResponseType {
        
        private string directResponseField;
        
        /// <remarks/>
        public string directResponse {
            get {
                return this.directResponseField;
            }
            set {
                this.directResponseField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class DeleteCustomerShippingAddressResponseType : ANetApiResponseType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class DeleteCustomerPaymentProfileResponseType : ANetApiResponseType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class DeleteCustomerProfileResponseType : ANetApiResponseType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class UpdateCustomerShippingAddressResponseType : ANetApiResponseType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class UpdateCustomerPaymentProfileResponseType : ANetApiResponseType {
        
        private string validationDirectResponseField;
        
        /// <remarks/>
        public string validationDirectResponse {
            get {
                return this.validationDirectResponseField;
            }
            set {
                this.validationDirectResponseField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class UpdateCustomerProfileResponseType : ANetApiResponseType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class GetCustomerShippingAddressResponseType : ANetApiResponseType {
        
        private CustomerAddressExType addressField;
        
        /// <remarks/>
        public CustomerAddressExType address {
            get {
                return this.addressField;
            }
            set {
                this.addressField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class GetCustomerPaymentProfileResponseType : ANetApiResponseType {
        
        private CustomerPaymentProfileMaskedType paymentProfileField;
        
        /// <remarks/>
        public CustomerPaymentProfileMaskedType paymentProfile {
            get {
                return this.paymentProfileField;
            }
            set {
                this.paymentProfileField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class GetCustomerProfileResponseType : ANetApiResponseType {
        
        private CustomerProfileMaskedType profileField;
        
        /// <remarks/>
        public CustomerProfileMaskedType profile {
            get {
                return this.profileField;
            }
            set {
                this.profileField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CreateCustomerShippingAddressResponseType : ANetApiResponseType {
        
        private long customerAddressIdField;
        
        /// <remarks/>
        public long customerAddressId {
            get {
                return this.customerAddressIdField;
            }
            set {
                this.customerAddressIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CreateCustomerPaymentProfileResponseType : ANetApiResponseType {
        
        private long customerPaymentProfileIdField;
        
        private string validationDirectResponseField;
        
        /// <remarks/>
        public long customerPaymentProfileId {
            get {
                return this.customerPaymentProfileIdField;
            }
            set {
                this.customerPaymentProfileIdField = value;
            }
        }
        
        /// <remarks/>
        public string validationDirectResponse {
            get {
                return this.validationDirectResponseField;
            }
            set {
                this.validationDirectResponseField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class CreateCustomerProfileResponseType : ANetApiResponseType {
        
        private long customerProfileIdField;
        
        private long[] customerPaymentProfileIdListField;
        
        private long[] customerShippingAddressIdListField;
        
        private string[] validationDirectResponseListField;
        
        /// <remarks/>
        public long customerProfileId {
            get {
                return this.customerProfileIdField;
            }
            set {
                this.customerProfileIdField = value;
            }
        }
        
        /// <remarks/>
        public long[] customerPaymentProfileIdList {
            get {
                return this.customerPaymentProfileIdListField;
            }
            set {
                this.customerPaymentProfileIdListField = value;
            }
        }
        
        /// <remarks/>
        public long[] customerShippingAddressIdList {
            get {
                return this.customerShippingAddressIdListField;
            }
            set {
                this.customerShippingAddressIdListField = value;
            }
        }
        
        /// <remarks/>
        public string[] validationDirectResponseList {
            get {
                return this.validationDirectResponseListField;
            }
            set {
                this.validationDirectResponseListField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ARBGetSubscriptionStatusResponseType : ANetApiResponseType {
        
        private ARBSubscriptionStatusEnum statusField;
        
        /// <remarks/>
        public ARBSubscriptionStatusEnum status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public enum ARBSubscriptionStatusEnum {
        
        /// <remarks/>
        active,
        
        /// <remarks/>
        expired,
        
        /// <remarks/>
        suspended,
        
        /// <remarks/>
        canceled,
        
        /// <remarks/>
        terminated,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ARBCancelSubscriptionResponseType : ANetApiResponseType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ARBUpdateSubscriptionResponseType : ANetApiResponseType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public partial class ARBCreateSubscriptionResponseType : ANetApiResponseType {
        
        private long subscriptionIdField;
        
        /// <remarks/>
        public long subscriptionId {
            get {
                return this.subscriptionIdField;
            }
            set {
                this.subscriptionIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public enum ValidationModeEnum {
        
        /// <remarks/>
        none,
        
        /// <remarks/>
        testMode,
        
        /// <remarks/>
        liveMode,
        
        /// <remarks/>
        oldLiveMode,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="https://api.authorize.net/soap/v1/")]
    public enum SplitTenderStatusEnum {
        
        /// <remarks/>
        completed,
        
        /// <remarks/>
        held,
        
        /// <remarks/>
        voided,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void IsAliveCompletedEventHandler(object sender, IsAliveCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class IsAliveCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal IsAliveCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ANetApiResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ANetApiResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void AuthenticateTestCompletedEventHandler(object sender, AuthenticateTestCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class AuthenticateTestCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal AuthenticateTestCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ANetApiResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ANetApiResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void ARBCreateSubscriptionCompletedEventHandler(object sender, ARBCreateSubscriptionCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ARBCreateSubscriptionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ARBCreateSubscriptionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ARBCreateSubscriptionResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ARBCreateSubscriptionResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void ARBUpdateSubscriptionCompletedEventHandler(object sender, ARBUpdateSubscriptionCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ARBUpdateSubscriptionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ARBUpdateSubscriptionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ARBUpdateSubscriptionResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ARBUpdateSubscriptionResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void ARBCancelSubscriptionCompletedEventHandler(object sender, ARBCancelSubscriptionCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ARBCancelSubscriptionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ARBCancelSubscriptionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ARBCancelSubscriptionResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ARBCancelSubscriptionResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void ARBGetSubscriptionStatusCompletedEventHandler(object sender, ARBGetSubscriptionStatusCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ARBGetSubscriptionStatusCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ARBGetSubscriptionStatusCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ARBGetSubscriptionStatusResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ARBGetSubscriptionStatusResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void CreateCustomerProfileCompletedEventHandler(object sender, CreateCustomerProfileCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateCustomerProfileCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateCustomerProfileCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CreateCustomerProfileResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CreateCustomerProfileResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void CreateCustomerPaymentProfileCompletedEventHandler(object sender, CreateCustomerPaymentProfileCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateCustomerPaymentProfileCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateCustomerPaymentProfileCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CreateCustomerPaymentProfileResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CreateCustomerPaymentProfileResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void CreateCustomerShippingAddressCompletedEventHandler(object sender, CreateCustomerShippingAddressCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateCustomerShippingAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateCustomerShippingAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CreateCustomerShippingAddressResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CreateCustomerShippingAddressResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void GetCustomerProfileCompletedEventHandler(object sender, GetCustomerProfileCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetCustomerProfileCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetCustomerProfileCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public GetCustomerProfileResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((GetCustomerProfileResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void GetCustomerPaymentProfileCompletedEventHandler(object sender, GetCustomerPaymentProfileCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetCustomerPaymentProfileCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetCustomerPaymentProfileCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public GetCustomerPaymentProfileResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((GetCustomerPaymentProfileResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void GetCustomerShippingAddressCompletedEventHandler(object sender, GetCustomerShippingAddressCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetCustomerShippingAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetCustomerShippingAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public GetCustomerShippingAddressResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((GetCustomerShippingAddressResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void UpdateCustomerProfileCompletedEventHandler(object sender, UpdateCustomerProfileCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class UpdateCustomerProfileCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal UpdateCustomerProfileCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public UpdateCustomerProfileResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((UpdateCustomerProfileResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void UpdateCustomerPaymentProfileCompletedEventHandler(object sender, UpdateCustomerPaymentProfileCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class UpdateCustomerPaymentProfileCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal UpdateCustomerPaymentProfileCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public UpdateCustomerPaymentProfileResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((UpdateCustomerPaymentProfileResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void UpdateCustomerShippingAddressCompletedEventHandler(object sender, UpdateCustomerShippingAddressCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class UpdateCustomerShippingAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal UpdateCustomerShippingAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public UpdateCustomerShippingAddressResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((UpdateCustomerShippingAddressResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void DeleteCustomerProfileCompletedEventHandler(object sender, DeleteCustomerProfileCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteCustomerProfileCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteCustomerProfileCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public DeleteCustomerProfileResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((DeleteCustomerProfileResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void DeleteCustomerPaymentProfileCompletedEventHandler(object sender, DeleteCustomerPaymentProfileCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteCustomerPaymentProfileCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteCustomerPaymentProfileCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public DeleteCustomerPaymentProfileResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((DeleteCustomerPaymentProfileResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void DeleteCustomerShippingAddressCompletedEventHandler(object sender, DeleteCustomerShippingAddressCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteCustomerShippingAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteCustomerShippingAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public DeleteCustomerShippingAddressResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((DeleteCustomerShippingAddressResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void CreateCustomerProfileTransactionCompletedEventHandler(object sender, CreateCustomerProfileTransactionCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateCustomerProfileTransactionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateCustomerProfileTransactionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CreateCustomerProfileTransactionResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CreateCustomerProfileTransactionResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void ValidateCustomerPaymentProfileCompletedEventHandler(object sender, ValidateCustomerPaymentProfileCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ValidateCustomerPaymentProfileCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ValidateCustomerPaymentProfileCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ValidateCustomerPaymentProfileResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ValidateCustomerPaymentProfileResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void GetCustomerProfileIdsCompletedEventHandler(object sender, GetCustomerProfileIdsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetCustomerProfileIdsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetCustomerProfileIdsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public GetCustomerProfileIdsResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((GetCustomerProfileIdsResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void GetHostedProfilePageCompletedEventHandler(object sender, GetHostedProfilePageCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetHostedProfilePageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetHostedProfilePageCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public GetHostedProfilePageResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((GetHostedProfilePageResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void UpdateSplitTenderGroupCompletedEventHandler(object sender, UpdateSplitTenderGroupCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class UpdateSplitTenderGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal UpdateSplitTenderGroupCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public UpdateSplitTenderGroupResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((UpdateSplitTenderGroupResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void GetTransactionDetailsCompletedEventHandler(object sender, GetTransactionDetailsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetTransactionDetailsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetTransactionDetailsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public GetTransactionDetailsResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((GetTransactionDetailsResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void GetSettledBatchListCompletedEventHandler(object sender, GetSettledBatchListCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetSettledBatchListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetSettledBatchListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public GetSettledBatchListResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((GetSettledBatchListResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void GetBatchStatisticsCompletedEventHandler(object sender, GetBatchStatisticsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetBatchStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetBatchStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public GetBatchStatisticsResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((GetBatchStatisticsResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void GetTransactionListCompletedEventHandler(object sender, GetTransactionListCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetTransactionListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetTransactionListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public GetTransactionListResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((GetTransactionListResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void GetUnsettledTransactionListCompletedEventHandler(object sender, GetUnsettledTransactionListCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetUnsettledTransactionListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetUnsettledTransactionListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public GetUnsettledTransactionListResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((GetUnsettledTransactionListResponseType)(this.results[0]));
            }
        }
    }
}

#pragma warning restore 1591