The request object for UpdateInvoice.
Esempio n. 1
0
        /// <summary>
        /// API call example for UpdateInvoice
        /// </summary>
        /// <param name="context"></param>
        private void UpdateInvoice(HttpContext context)
        {
            // Collect input params
            String invoiceId = context.Request.Params["invoiceId"];
            String merchantEmail = context.Request.Params["merchantEmail"];
            String payerEmail = context.Request.Params["payerEmail"];
            PaymentTermsType paymentTerms = (PaymentTermsType) Enum.Parse(
                    typeof(PaymentTermsType), context.Request.Params["paymentTerms"]);
            String item_name1 = context.Request.Params["item_name1"];
            String item_quantity1 = context.Request.Params["item_quantity1"];
            String item_unitPrice1 = context.Request.Params["item_unitPrice1"];
            String item_name2 = context.Request.Params["item_name2"];
            String item_quantity2 = context.Request.Params["item_quantity2"];
            String item_unitPrice2 = context.Request.Params["item_unitPrice2"];
            String currencyCode = context.Request.Params["currencyCode"];

            InvoiceItemListType itemList = new InvoiceItemListType();
            itemList.item = new List<InvoiceItemType>();
            itemList.item.Add(new InvoiceItemType(
                        item_name1,
                        decimal.Parse(item_quantity1),
                        decimal.Parse(item_unitPrice1)));
            itemList.item.Add(new InvoiceItemType(
                        item_name2,
                        decimal.Parse(item_quantity2),
                        decimal.Parse(item_unitPrice2)));
            InvoiceType invoice = new InvoiceType(merchantEmail, payerEmail, itemList,
                currencyCode, paymentTerms);
            UpdateInvoiceRequest request = new UpdateInvoiceRequest(
                new RequestEnvelope(ERROR_LANGUAGE), invoiceId, invoice);

            // Create service object and make the API call
            InvoiceService service;
            UpdateInvoiceResponse response;

            try
            {
                service = getService(context);
                response = service.UpdateInvoice(request);
            }
            catch (Exception e)
            {
                context.Response.Write(e.Message);
                return;
            }

            // Display response values.
            Dictionary<string, string> keyResponseParams = new Dictionary<string, string>();
            keyResponseParams.Add("API status", response.responseEnvelope.ack.ToString());
            keyResponseParams.Add("correlationId", response.responseEnvelope.correlationId);
            keyResponseParams.Add("invoiceId", response.invoiceID);
            keyResponseParams.Add("invoiceNumber", response.invoiceNumber);
            keyResponseParams.Add("invoiceUrl", response.invoiceURL);
            keyResponseParams.Add("totalAmount", response.totalAmount.ToString());
            displayResponse(context, "UpdateInvoice", keyResponseParams, service.getLastRequest(),
                service.getLastResponse(), response.error, null);
        }
 /// <summary> 
 /// 
 /// </summary>
 ///<param name="updateInvoiceRequest"></param>
 public UpdateInvoiceResponse UpdateInvoice(UpdateInvoiceRequest updateInvoiceRequest)
 {
     return UpdateInvoice(updateInvoiceRequest,(string) null);
 }
        /// <summary>
        /// 
        /// </summary>
        ///<param name="updateInvoiceRequest"></param>
        ///<param name="credential">An explicit ICredential object that you want to authenticate this call against</param> 
        public UpdateInvoiceResponse UpdateInvoice(UpdateInvoiceRequest updateInvoiceRequest, ICredential credential)
        {
            IAPICallPreHandler apiCallPreHandler = new PlatformAPICallPreHandler(this.config, updateInvoiceRequest.ToNVPString(string.Empty), ServiceName, "UpdateInvoice", credential);
               	 	((PlatformAPICallPreHandler) apiCallPreHandler).SDKName = SDKName;
            ((PlatformAPICallPreHandler) apiCallPreHandler).SDKVersion = SDKVersion;
            ((PlatformAPICallPreHandler) apiCallPreHandler).PortName = "Invoice";

            NVPUtil util = new NVPUtil();
            return UpdateInvoiceResponse.CreateInstance(util.ParseNVPString(Call(apiCallPreHandler)), string.Empty, -1);
        }
Esempio n. 4
0
 /**
   *AUTO_GENERATED
  	  */
 public UpdateInvoiceResponse UpdateInvoice(UpdateInvoiceRequest UpdateInvoiceRequest, string apiUsername)
 {
     string resp = call("UpdateInvoice", UpdateInvoiceRequest.toNVPString(""), apiUsername);
     NVPUtil util = new NVPUtil();
     return new UpdateInvoiceResponse(util.parseNVPString(resp), "");
 }
Esempio n. 5
0
 /**
   *AUTO_GENERATED
  	  */
 public UpdateInvoiceResponse UpdateInvoice(UpdateInvoiceRequest UpdateInvoiceRequest)
 {
     return UpdateInvoice(UpdateInvoiceRequest, null);
 }
        /// <summary>
        /// API call example for UpdateInvoice
        /// </summary>
        /// <param name="context"></param>
        private void UpdateInvoice(HttpContext context)
        {
            // Collect input params

            // (Required) ID of the invoice to update.
            string invoiceId = context.Request.Params["invoiceId"];

            // (Required) Merchant email address.
            string merchantEmail = context.Request.Params["merchantEmail"];

            // (Required) Payer email address.
            string payerEmail = context.Request.Params["payerEmail"];

            // (Required) Terms by which the invoice payment is due. It is one of the following values:
            // DueOnReceipt – Payment is due when the payer receives the invoice.
            // DueOnDateSpecified – Payment is due on the date specified in the invoice.
            // Net10 – Payment is due 10 days from the invoice date.
            // Net15 – Payment is due 15 days from the invoice date.
            // Net30 – Payment is due 30 days from the invoice date.
            // Net45 – Payment is due 45 days from the invoice date.
            InvoiceModelAlias.PaymentTermsType paymentTerms = (InvoiceModelAlias.PaymentTermsType)Enum.Parse(
                    typeof(InvoiceModelAlias.PaymentTermsType), context.Request.Params["paymentTerms"]);

            // (Required) SKU or name of the item. Character length and limitations: 30 characters maximum
            string item_name1 = context.Request.Params["item_name1"];

            // (Required) Item count. Valid values are 0 to 10.000.
            string item_quantity1 = context.Request.Params["item_quantity1"];

            // (Required) Price of the item, in the currency specified by the invoice.
            string item_unitPrice1 = context.Request.Params["item_unitPrice1"];

            // (Required) SKU or name of the item. Character length and limitations: 30 characters maximum
            string item_name2 = context.Request.Params["item_name2"];

            // (Required) Item count. Valid values are 0 to 10.000.
            string item_quantity2 = context.Request.Params["item_quantity2"];

            // (Required) Price of the item, in the currency specified by the invoice.
            string item_unitPrice2 = context.Request.Params["item_unitPrice2"];

            // (Required) Currency used for all invoice item amounts and totals.
            string currencyCode = context.Request.Params["currencyCode"];

            InvoiceModelAlias.InvoiceItemListType itemList = new InvoiceModelAlias.InvoiceItemListType();
            itemList.item = new List<InvoiceModelAlias.InvoiceItemType>();
            itemList.item.Add(new InvoiceModelAlias.InvoiceItemType(
                        item_name1,
                        Convert.ToDecimal(item_quantity1),
                        Convert.ToDecimal(item_unitPrice1)));
            itemList.item.Add(new InvoiceModelAlias.InvoiceItemType(
                        item_name2,
                        Convert.ToDecimal(item_quantity2),
                        Convert.ToDecimal(item_unitPrice2)));
            InvoiceModelAlias.InvoiceType invoice = new InvoiceModelAlias.InvoiceType(merchantEmail, payerEmail, itemList,
                currencyCode);
            invoice.paymentTerms = paymentTerms;
            InvoiceModelAlias.RequestEnvelope env = new InvoiceModelAlias.RequestEnvelope();

            // (Required) RFC 3066 language in which error messages are returned;
            // by default it is en_US, which is the only language currently supported.
            env.errorLanguage = ERROR_LANGUAGE;
            InvoiceModelAlias.UpdateInvoiceRequest request = new InvoiceModelAlias.UpdateInvoiceRequest(
               env, invoiceId, invoice);

            // Create service object and make the API call
            InvoiceAlias.InvoiceService service;
            InvoiceModelAlias.UpdateInvoiceResponse response;
            SignatureCredential cred = SetThirdPartyAuthorization(context);
            try
            {
                service = GetService(context);
                if (cred != null)
                {
                    response = service.UpdateInvoice(request, cred);
                }
                else
                {
                    response = service.UpdateInvoice(request);
                }
            }
            catch (Exception e)
            {
                context.Response.Write(e.Message);
                return;
            }

            // Display response values.
            Dictionary<string, string> keyResponseParams = new Dictionary<string, string>();

            //Acknowledgement code. It is one of the following values:
            //Success – The operation completed successfully.
            //Failure – The operation failed.
            //SuccessWithWarning – The operation completed successfully; however, there is a warning message.
            //FailureWithWarning – The operation failed with a warning message.
            keyResponseParams.Add("API status", response.responseEnvelope.ack.ToString());

            // Correlation identifier. It is a 13-character,
            // alphanumeric string (for example, db87c705a910e) that is used
            // only by PayPal Merchant Technical Support.
            // Note: You must log and store this data for every response you receive.
            // PayPal Technical Support uses the information to assist with reported issues.
            keyResponseParams.Add("correlationId", response.responseEnvelope.correlationId);

            // ID of the updated invoice.
            keyResponseParams.Add("invoiceId", response.invoiceID);

            // Invoice number of the updated invoice.
            keyResponseParams.Add("invoiceNumber", response.invoiceNumber);

            // URL location where merchants view the updated invoice details.
            keyResponseParams.Add("invoiceUrl", response.invoiceURL);

            // The total amount of the invoice.
            keyResponseParams.Add("totalAmount", response.totalAmount.ToString());
            displayResponse(context, "UpdateInvoice", keyResponseParams, service.getLastRequest(),
                service.getLastResponse(), response.error, null);
        }
Esempio n. 7
0
 /**
   *AUTO_GENERATED
  	  */
 public UpdateInvoiceResponse UpdateInvoice(UpdateInvoiceRequest updateInvoiceRequest, string apiUserName)
 {
     string response = Call("UpdateInvoice", updateInvoiceRequest.ToNVPString(""), apiUserName);
     NVPUtil util = new NVPUtil();
     return UpdateInvoiceResponse.CreateInstance(util.ParseNVPString(response), "", -1);
 }
Esempio n. 8
0
        /// <summary>
        /// API call example for UpdateInvoice
        /// </summary>
        /// <param name="context"></param>
        private void UpdateInvoice(HttpContext context)
        {
            // Collect input params
            String invoiceId = context.Request.Params["invoiceId"];
            String merchantEmail = context.Request.Params["merchantEmail"];
            String payerEmail = context.Request.Params["payerEmail"];
            PaymentTermsType paymentTerms = (PaymentTermsType) Enum.Parse(
                    typeof(PaymentTermsType), context.Request.Params["paymentTerms"]);
            String item_name1 = context.Request.Params["item_name1"];
            String item_quantity1 = context.Request.Params["item_quantity1"];
            String item_unitPrice1 = context.Request.Params["item_unitPrice1"];
            String item_name2 = context.Request.Params["item_name2"];
            String item_quantity2 = context.Request.Params["item_quantity2"];
            String item_unitPrice2 = context.Request.Params["item_unitPrice2"];
            String currencyCode = context.Request.Params["currencyCode"];

            InvoiceItemListType itemList = new InvoiceItemListType();
            itemList.item = new List<InvoiceItemType>();
            itemList.item.Add(new InvoiceItemType(
                        item_name1,
                        decimal.Parse(item_quantity1),
                        decimal.Parse(item_unitPrice1)));
            itemList.item.Add(new InvoiceItemType(
                        item_name2,
                        decimal.Parse(item_quantity2),
                        decimal.Parse(item_unitPrice2)));
            InvoiceType invoice = new InvoiceType(merchantEmail, payerEmail, itemList,
                currencyCode, paymentTerms);
            UpdateInvoiceRequest request = new UpdateInvoiceRequest(
                new RequestEnvelope(ERROR_LANGUAGE), invoiceId, invoice);

            // Create service object and make the API call
            InvoiceService service = getService(context);
            UpdateInvoiceResponse response = service.UpdateInvoice(request);

            // Process response
            context.Response.Write("<html><body><textarea rows=30 cols=80>");
            ObjectDumper.Write(response, 5, context.Response.Output);
            context.Response.Write("</textarea></body></html>");
        }
    // # UpdateInvoice API Operation
    // Use the UpdateInvoice API operation to update an invoice. 
    public UpdateInvoiceResponse UpdateInvoiceAPIOperation()
    {
        // Create the UpdateInvoiceResponse object
        UpdateInvoiceResponse responseUpdateInvoice = new UpdateInvoiceResponse();

        try
        {
            // # UpdateInvoiceRequest
            // Use the UpdateInvoiceRequest message to update an invoice.

            // The code for the language in which errors are returned, which must be
            // en_US.
            RequestEnvelope envelopeRequest = new RequestEnvelope();
            envelopeRequest.errorLanguage = "en_US";

            List<InvoiceItemType> invoiceItemList = new List<InvoiceItemType>();

            // InvoiceItemType which takes mandatory params:
            // 
            // * `Item Name` - SKU or name of the item.
            // * `Quantity` - Item count.
            // * `Amount` - Price of the item, in the currency specified by the
            // invoice.
            InvoiceItemType invoiceItem = new InvoiceItemType("Item", Convert.ToDecimal("2"), Convert.ToDecimal("4.00"));
            invoiceItemList.Add(invoiceItem);

            // Invoice item.
            InvoiceItemListType itemList = new InvoiceItemListType(invoiceItemList);

            // InvoiceType which takes mandatory params:
            // 
            // * `Merchant Email` - Merchant email address.
            // * `Personal Email` - Payer email address.
            // * `InvoiceItemList` - List of items included in this invoice.
            // * `CurrencyCode` - Currency used for all invoice item amounts and
            // totals.
            // * `PaymentTerms` - Terms by which the invoice payment is due. It is
            // one of the following values:
            //  * DueOnReceipt - Payment is due when the payer receives the invoice.
            //  * DueOnDateSpecified - Payment is due on the date specified in the
            //  invoice.
            //  * Net10 - Payment is due 10 days from the invoice date.
            //  * Net15 - Payment is due 15 days from the invoice date.
            //  * Net30 - Payment is due 30 days from the invoice date.
            //  * Net45 - Payment is due 45 days from the invoice date.
            InvoiceType invoice = new InvoiceType("*****@*****.**", "*****@*****.**", itemList, "USD", PaymentTermsType.DUEONRECEIPT);

            // UpdateInvoiceRequest which takes mandatory params:
            // 
            // * `Request Envelope` - Information common to each API operation, such
            // as the language in which an error message is returned.
            // * `Invoice ID` - ID of the invoice to update.
            // * `Invoice` - Merchant, payer, and invoice information.
            UpdateInvoiceRequest requestUpdateInvoice = new UpdateInvoiceRequest(envelopeRequest, "INV2-ZC9R-X6MS-RK8H-4VKJ", invoice);

            // Create the service wrapper object to make the API call
            InvoiceService service = new InvoiceService();


            // # API call   
            // Invoke the UpdateInvoice method in service
            responseUpdateInvoice = service.UpdateInvoice(requestUpdateInvoice);

            if (responseUpdateInvoice != null)
            {
                // Response envelope acknowledgement
                string acknowledgement = "UpdateInvoice API Operation - ";
                acknowledgement += responseUpdateInvoice.responseEnvelope.ack.ToString();
                logger.Info(acknowledgement + "\n");
                Console.WriteLine(acknowledgement + "\n");

                // # Success values
                if (responseUpdateInvoice.responseEnvelope.ack.ToString().Trim().ToUpper().Equals("SUCCESS"))
                {
                    // ID of the created invoice.
                    logger.Info("Invoice ID : " + responseUpdateInvoice.invoiceID + "\n");
                    Console.WriteLine("Invoice ID : " + responseUpdateInvoice.invoiceID + "\n");
                }
                // # Error Values                
                else
                {
                    List<ErrorData> errorMessages = responseUpdateInvoice.error;
                    foreach (ErrorData error in errorMessages)
                    {
                        logger.Debug("API Error Message : " + error.message + "\n");
                        Console.WriteLine("API Error Message : " + error.message + "\n");
                    }
                }
            }
        }
        // # Exception log    
        catch (System.Exception ex)
        {
            // Log the exception message       
            logger.Debug("Error Message : " + ex.Message);
            Console.WriteLine("Error Message : " + ex.Message);
        }
        return responseUpdateInvoice;
    }
 /**
   *AUTO_GENERATED
  	  */
 public UpdateInvoiceResponse UpdateInvoice(UpdateInvoiceRequest updateInvoiceRequest, string apiUserName)
 {
     IAPICallPreHandler apiCallPreHandler = null;
     apiCallPreHandler = new PlatformAPICallPreHandler(updateInvoiceRequest.ToNVPString(string.Empty), ServiceName, "UpdateInvoice", apiUserName, getAccessToken(), getAccessTokenSecret());
        	 	((PlatformAPICallPreHandler) apiCallPreHandler).SDKName = SDKName;
     ((PlatformAPICallPreHandler) apiCallPreHandler).SDKVersion = SDKVersion;
     string response = Call(apiCallPreHandler);
     NVPUtil util = new NVPUtil();
     return UpdateInvoiceResponse.CreateInstance(util.ParseNVPString(response), string.Empty, -1);
 }