protected void Submit_Click(object sender, EventArgs e)
        {
            // Create request object

            BillOutstandingAmountRequestType request =
                new BillOutstandingAmountRequestType();

            BillOutstandingAmountRequestDetailsType details =
                new BillOutstandingAmountRequestDetailsType();
            request.BillOutstandingAmountRequestDetails = details;
            details.ProfileID = profileId.Value;
            if (currencyCode.SelectedIndex != 0 && amount.Value != "")
            {
                CurrencyCodeType currency = (CurrencyCodeType)
                    Enum.Parse(typeof(CurrencyCodeType), currencyCode.SelectedValue);
                details.Amount = new BasicAmountType(currency, amount.Value);
            }
            if (note.Value != "")
            {
                details.Note = note.Value;
            }

            // Invoke the API
            BillOutstandingAmountReq wrapper = new BillOutstandingAmountReq();
            wrapper.BillOutstandingAmountRequest = request;
            PayPalAPIInterfaceServiceService service = new PayPalAPIInterfaceServiceService();
            BillOutstandingAmountResponseType response =
                    service.BillOutstandingAmount(wrapper);

            // Check for API return status
            setKeyResponseObjects(service, response);
        }
        /**
         *
         */
        public BillOutstandingAmountResponseType BillOutstandingAmount(BillOutstandingAmountReq BillOutstandingAmountReq, string apiUsername)
        {
            setStandardParams(BillOutstandingAmountReq.BillOutstandingAmountRequest);
            string resp = call("BillOutstandingAmount", BillOutstandingAmountReq.toXMLString(), apiUsername);

            return new BillOutstandingAmountResponseType(resp);
        }
 /**
   *AUTO_GENERATED
  	  */
 public BillOutstandingAmountResponseType BillOutstandingAmount(BillOutstandingAmountReq billOutstandingAmountReq, string apiUserName)
 {
     setStandardParams(billOutstandingAmountReq.BillOutstandingAmountRequest);
     string response = Call("BillOutstandingAmount", billOutstandingAmountReq.ToXMLString(), apiUserName);
     XmlDocument xmlDocument = new XmlDocument();
     xmlDocument.LoadXml(response);
     XmlNode xmlNode = xmlDocument.SelectSingleNode("*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='BillOutstandingAmountResponse']");
     return new BillOutstandingAmountResponseType(xmlNode);
 }
        protected void Submit_Click(object sender, EventArgs e)
        {
            // Create request object

            BillOutstandingAmountRequestType request =
                new BillOutstandingAmountRequestType();

            BillOutstandingAmountRequestDetailsType details =
                new BillOutstandingAmountRequestDetailsType();
            request.BillOutstandingAmountRequestDetails = details;
            // (Required) Recurring payments profile ID returned in the CreateRecurringPaymentsProfile response.
            // Note:The profile must have a status of either Active or Suspended.
            details.ProfileID = profileId.Value;

            // (Optional) The amount to bill. The amount must be less than or equal to the current outstanding balance of the profile. If no value is specified, PayPal attempts to bill the entire outstanding balance amount.
            if (currencyCode.SelectedIndex != 0 && amount.Value != string.Empty)
            {
                CurrencyCodeType currency = (CurrencyCodeType)
                    Enum.Parse(typeof(CurrencyCodeType), currencyCode.SelectedValue);
                details.Amount = new BasicAmountType(currency, amount.Value);
            }
            // (Optional) The reason for the non-scheduled payment. For profiles created using Express Checkout, this message is included in the email notification to the buyer for the non-scheduled payment transaction, and can also be seen by both you and the buyer on the Status History page of the PayPal account.
            if (note.Value != string.Empty)
            {
                details.Note = note.Value;
            }

            // Invoke the API
            BillOutstandingAmountReq wrapper = new BillOutstandingAmountReq();
            wrapper.BillOutstandingAmountRequest = request;
            // Create the PayPalAPIInterfaceServiceService service object to make the API call

            // Configuration map containing signature credentials and other required configuration.
            // For a full list of configuration parameters refer in wiki page
            // [https://github.com/paypal/sdk-core-dotnet/wiki/SDK-Configuration-Parameters]
            Dictionary<string, string> configurationMap = Configuration.GetAcctAndConfig();

            PayPalAPIInterfaceServiceService service = new PayPalAPIInterfaceServiceService(configurationMap);

            // # API call
            // Invoke the BillOutstandingAmount method in service wrapper object
            BillOutstandingAmountResponseType response =
                    service.BillOutstandingAmount(wrapper);

            // Check for API return status
            setKeyResponseObjects(service, response);
        }
        /// <summary>
        /// 
        /// </summary>
        ///<param name="billOutstandingAmountReq"></param>
        ///<param name="credential">An explicit ICredential object that you want to authenticate this call against</param> 
        public BillOutstandingAmountResponseType BillOutstandingAmount(BillOutstandingAmountReq billOutstandingAmountReq, ICredential credential)
        {
            setStandardParams(billOutstandingAmountReq.BillOutstandingAmountRequest);
            DefaultSOAPAPICallHandler defaultHandler = new DefaultSOAPAPICallHandler(this.config, billOutstandingAmountReq.ToXMLString(null, "BillOutstandingAmountReq"), null, null);
            IAPICallPreHandler apiCallPreHandler = new MerchantAPICallPreHandler(this.config, defaultHandler, credential);
            ((MerchantAPICallPreHandler) apiCallPreHandler).SDKName = SDKName;
            ((MerchantAPICallPreHandler) apiCallPreHandler).SDKVersion = SDKVersion;
            ((MerchantAPICallPreHandler) apiCallPreHandler).PortName = "PayPalAPIAA";

            XmlDocument xmlDocument = new XmlDocument();
            xmlDocument.LoadXml(Call(apiCallPreHandler));
            return new BillOutstandingAmountResponseType(
                xmlDocument.SelectSingleNode("*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='BillOutstandingAmountResponse']")
            );
        }
 /// <summary> 
 /// 
 /// </summary>
 ///<param name="billOutstandingAmountReq"></param>
 public BillOutstandingAmountResponseType BillOutstandingAmount(BillOutstandingAmountReq billOutstandingAmountReq)
 {
     return BillOutstandingAmount(billOutstandingAmountReq,(string) null);
 }
 /**
   *AUTO_GENERATED
  	  */
 public BillOutstandingAmountResponseType BillOutstandingAmount(BillOutstandingAmountReq billOutstandingAmountReq, string apiUserName)
 {
     IAPICallPreHandler apiCallPreHandler = null;
      		string portName = "PayPalAPIAA";
     setStandardParams(billOutstandingAmountReq.BillOutstandingAmountRequest);
     DefaultSOAPAPICallHandler defaultHandler = new DefaultSOAPAPICallHandler(billOutstandingAmountReq.ToXMLString(null, "BillOutstandingAmountReq"), null, null);
     apiCallPreHandler = new MerchantAPICallPreHandler(defaultHandler, apiUserName, getAccessToken(), getAccessTokenSecret());
     ((MerchantAPICallPreHandler) apiCallPreHandler).SDKName = SDKName;
     ((MerchantAPICallPreHandler) apiCallPreHandler).SDKVersion = SDKVersion;
     ((MerchantAPICallPreHandler) apiCallPreHandler).PortName = portName;
     string response = Call(apiCallPreHandler);
     XmlDocument xmlDocument = new XmlDocument();
     xmlDocument.LoadXml(response);
     XmlNode xmlNode = xmlDocument.SelectSingleNode("*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='BillOutstandingAmountResponse']");
     return new BillOutstandingAmountResponseType(xmlNode);
 }
 public BillOutstandingAmountResponseType BillOutstandingAmount(BillOutstandingAmountReq BillOutstandingAmountReq)
 {
     return BillOutstandingAmount(BillOutstandingAmountReq, null);
 }