public CompleteSaleResponseType UpdateShippingInfo(string itemID, string transactionID, string trackingNumber, string userToken) { string callname = "CompleteSale"; #region Initialise Needed Variables //Get the Server to use (Sandbox or Production) string serverUrl = ConfigurationManager.AppSettings["TradingService"]; //SiteID = 0 (US) - UK = 3, Canada = 2, Australia = 15, .... string siteID = "0"; eBayAPIInterfaceService service = new eBayAPIInterfaceService(); string requestURL = serverUrl + "?callname=" + callname + "&siteid=" + siteID + "&appid=" + AppID + "&version=" + version + "&routing=default"; service.Url = requestURL; // Set credentials service.RequesterCredentials = new CustomSecurityHeaderType(); service.RequesterCredentials.Credentials = new UserIdPasswordType(); service.RequesterCredentials.Credentials.AppId = AppID; service.RequesterCredentials.Credentials.DevId = DevID; service.RequesterCredentials.Credentials.AuthCert = CertID; service.RequesterCredentials.eBayAuthToken = userToken; #endregion CompleteSaleRequestType request = new CompleteSaleRequestType(); request.WarningLevel = WarningLevelCodeType.High; request.ItemID = itemID; request.TransactionID = transactionID; ShipmentType shipment = new ShipmentType(); ShipmentTrackingDetailsType shipmentDetails = new ShipmentTrackingDetailsType(); shipmentDetails.ShipmentTrackingNumber = trackingNumber; shipmentDetails.ShippingCarrierUsed = ConfigurationManager.AppSettings["ShippingCarrier"]; shipment.ShipmentTrackingDetails = new ShipmentTrackingDetailsType[] { shipmentDetails }; request.Shipment = shipment; request.Version = version; try { CompleteSaleResponseType response = service.CompleteSale(request); return response; } catch (Exception ex) { if (ex.Message.ToLower().Contains("auth token")) throw new InvalidEbayCredentialsException(); else throw ex; } }