using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using System.Net; using System.IO; using System.Xml; using System.Xml.Linq; using NetLibrary; using NetLibrary.Express; using NetLibrary.Log; namespace NetLibrary.OnlineTrade { public class EbayApiNew { public string Appkey { get; set; } public string DeveKey { get; set; } public string CertKey { get; set; } public int Level { get; set; } public string ShopNo { get; set; } public EbayApiNew() { Appkey = "mitang648-0b4d-45cc-8393-22985badfcb"; DeveKey = "f56448c8-0099-4e84-bbbb-2e30b3e2c8a3"; CertKey = "adfccd96-4a84-402e-959f-c19d26fce4c5"; Level = 955;//771; } #region 订单分析 Ebay_Order ConvertOrder(XElement item) { XElement cElement = null; Ebay_Order Model = new Ebay_Order(); Model.OrderID = CustomIO.GetXmlElement(item, "OrderID"); Model.OrderStatus = CustomIO.GetXmlElement(item, "OrderStatus"); if (item.Element("AdjustmentAmount") != null) { Model.AdjustmentAmount.currencyID = CustomIO.GetXmlAttribute(item.Element("AdjustmentAmount"), "currencyID"); Model.AdjustmentAmount.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item, "AdjustmentAmount")); } if (item.Element("AmountPaid") != null) { Model.AmountPaid.currencyID = CustomIO.GetXmlAttribute(item.Element("AmountPaid"), "currencyID"); Model.AmountPaid.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item, "AmountPaid")); } if (item.Element("AmountSaved") != null) { Model.AmountSaved.currencyID = CustomIO.GetXmlAttribute(item.Element("AmountSaved"), "currencyID"); Model.AmountSaved.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item, "AmountSaved")); } cElement = item.Element("CheckoutStatus"); if (cElement != null) { Model.CheckoutStatus.eBayPaymentStatus = CustomIO.GetXmlElement(cElement, "eBayPaymentStatus"); Model.CheckoutStatus.SetLastModifiedTime(CustomIO.GetXmlElement(cElement, "LastModifiedTime")); Model.CheckoutStatus.PaymentMethod = CustomIO.GetXmlElement(cElement, "PaymentMethod"); Model.CheckoutStatus.Status = CustomIO.GetXmlElement(cElement, "Status"); Model.CheckoutStatus.IntegratedMerchantCreditCardEnabled = Convert.ToBoolean(CustomIO.GetXmlElement(cElement, "IntegratedMerchantCreditCardEnabled")); } cElement = item.Element("ShippingDetails"); if (cElement != null) { Model.ShippingDetails.SellingManagerSalesRecordNumber = Convert.ToInt64(CustomIO.GetXmlElement(cElement, "SellingManagerSalesRecordNumber")); Model.ShippingDetails.GetItFast = Convert.ToBoolean(CustomIO.GetXmlElement(cElement, "GetItFast")); cElement = cElement.Element("SalesTax"); if (cElement != null) { if (CustomIO.GetXmlElement(cElement, "SalesTaxPercent") != "") Model.ShippingDetails.SalesTax.SalesTaxPercent = Convert.ToDecimal(CustomIO.GetXmlElement(cElement, "SalesTaxPercent")); Model.ShippingDetails.SalesTax.SalesTaxState = CustomIO.GetXmlElement(cElement, "SalesTaxState"); if (CustomIO.GetXmlElement(cElement, "ShippingIncludedInTax") != "") Model.ShippingDetails.SalesTax.ShippingIncludedInTax = Convert.ToBoolean(CustomIO.GetXmlElement(cElement, "ShippingIncludedInTax")); if (cElement.Element("SalesTaxAmount") != null) { Model.ShippingDetails.SalesTax.SalesTaxAmount.currencyID = CustomIO.GetXmlAttribute(cElement.Element("SalesTaxAmount"), "currencyID"); if (CustomIO.GetXmlElement(cElement, "SalesTaxAmount") != "") Model.ShippingDetails.SalesTax.SalesTaxAmount.Price = Convert.ToDecimal(CustomIO.GetXmlElement(cElement, "SalesTaxAmount")); } } cElement = item.Element("ShippingDetails").Element("ShippingServiceOptions"); if (cElement != null) { Model.ShippingDetails.ShippingServiceOptions.ShippingService = Convert.ToString(CustomIO.GetXmlElement(cElement, "ShippingService")); if (cElement.Element("ShippingServiceCost") != null) { Model.ShippingDetails.ShippingServiceOptions.ShippingServiceCost.currencyID = CustomIO.GetXmlAttribute(cElement.Element("ShippingServiceCost"), "currencyID"); Model.ShippingDetails.ShippingServiceOptions.ShippingServiceCost.Price = Convert.ToDecimal(CustomIO.GetXmlElement(cElement, "ShippingServiceCost")); } Model.ShippingDetails.ShippingServiceOptions.ShippingServicePriority = Convert.ToInt32(CustomIO.GetXmlElement(cElement, "ShippingServicePriority")); Model.ShippingDetails.ShippingServiceOptions.ExpeditedService = Convert.ToBoolean(CustomIO.GetXmlElement(cElement, "ExpeditedService")); Model.ShippingDetails.ShippingServiceOptions.ShippingTimeMin = Convert.ToInt32(CustomIO.GetXmlElement(cElement, "ShippingTimeMin")); Model.ShippingDetails.ShippingServiceOptions.ShippingTimeMax = Convert.ToInt32(CustomIO.GetXmlElement(cElement, "ShippingTimeMax")); } } Model.CreatingUserRole = Convert.ToString(CustomIO.GetXmlElement(item, "CreatingUserRole")); Model.SetCreatedTime(CustomIO.GetXmlElement(item, "CreatedTime")); Model.PaymentMethods = Convert.ToString(CustomIO.GetXmlElement(item, "PaymentMethods")); Model.SellerEmail = Convert.ToString(CustomIO.GetXmlElement(item, "SellerEmail")); cElement = item.Element("ShippingAddress"); if (cElement != null) { Model.ShippingAddress.Name = Convert.ToString(CustomIO.GetXmlElement(cElement, "Name")); Model.ShippingAddress.Street1 = Convert.ToString(CustomIO.GetXmlElement(cElement, "Street1")); Model.ShippingAddress.Street2 = Convert.ToString(CustomIO.GetXmlElement(cElement, "Street2")); Model.ShippingAddress.CityName = Convert.ToString(CustomIO.GetXmlElement(cElement, "CityName")); Model.ShippingAddress.StateOrProvince = Convert.ToString(CustomIO.GetXmlElement(cElement, "StateOrProvince")); Model.ShippingAddress.Country = Convert.ToString(CustomIO.GetXmlElement(cElement, "Country")); Model.ShippingAddress.CountryName = Convert.ToString(CustomIO.GetXmlElement(cElement, "CountryName")); Model.ShippingAddress.Phone = Convert.ToString(CustomIO.GetXmlElement(cElement, "Phone")); Model.ShippingAddress.PostalCode = Convert.ToString(CustomIO.GetXmlElement(cElement, "PostalCode")); Model.ShippingAddress.AddressID = Convert.ToString(CustomIO.GetXmlElement(cElement, "AddressID")); Model.ShippingAddress.AddressOwner = Convert.ToString(CustomIO.GetXmlElement(cElement, "AddressOwner")); Model.ShippingAddress.ExternalAddressID = Convert.ToString(CustomIO.GetXmlElement(cElement, "ExternalAddressID")); } cElement = item.Element("ShippingServiceSelected"); if (cElement != null) { Model.ShippingServiceSelected.ShippingService = Convert.ToString(CustomIO.GetXmlElement(cElement, "ShippingService")); if (cElement.Element("ShippingServiceCost") != null) { Model.ShippingServiceSelected.ShippingServiceCost.currencyID = CustomIO.GetXmlAttribute(cElement.Element("ShippingServiceCost"), "currencyID"); Model.ShippingServiceSelected.ShippingServiceCost.Price = Convert.ToDecimal(CustomIO.GetXmlElement(cElement, "ShippingServiceCost")); } } if (item.Element("Subtotal") != null) { Model.Subtotal.currencyID = CustomIO.GetXmlAttribute(item.Element("Subtotal"), "currencyID"); Model.Subtotal.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item, "Subtotal")); } if (item.Element("Total") != null) { Model.Total.currencyID = CustomIO.GetXmlAttribute(item.Element("Total"), "currencyID"); Model.Total.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item, "Total")); } Model.CreatingUserRole = Convert.ToString(CustomIO.GetXmlElement(item, "CreatingUserRole")); Model.CreatingUserRole = Convert.ToString(CustomIO.GetXmlElement(item, "CreatingUserRole")); XElement Element2 = item.Element("TransactionArray"); if (Element2 != null) { foreach (XElement item2 in Element2.Elements("Transaction")) { Ebay_Transaction model = new Ebay_Transaction(); cElement = item2.Element("Buyer"); model.Buyer.Email = Convert.ToString(CustomIO.GetXmlElement(cElement, "Email")); model.Buyer.UserFirstName = Convert.ToString(CustomIO.GetXmlElement(cElement, "UserFirstName")); model.Buyer.UserLastName = Convert.ToString(CustomIO.GetXmlElement(cElement, "UserLastName")); cElement = item2.Element("ShippingDetails"); if (cElement != null) { model.ShippingDetails.SellingManagerSalesRecordNumber = Convert.ToInt32(CustomIO.GetXmlElement(cElement, "SellingManagerSalesRecordNumber")); cElement = cElement.Element("ShipmentTrackingDetails"); if (cElement != null) { model.ShippingDetails.ShipmentTrackingDetails.ShippingCarrierUsed = Convert.ToString(CustomIO.GetXmlElement(cElement, "ShippingCarrierUsed")); model.ShippingDetails.ShipmentTrackingDetails.ShipmentTrackingNumber = Convert.ToString(CustomIO.GetXmlElement(cElement, "ShipmentTrackingNumber")); } } model.SetCreatedDate(CustomIO.GetXmlElement(item2, "CreatedDate")); cElement = item2.Element("Item"); if (cElement != null) { model.Item.ItemID = Convert.ToString(CustomIO.GetXmlElement(cElement, "ItemID")); model.Item.Site = Convert.ToString(CustomIO.GetXmlElement(cElement, "Site")); model.Item.Title = Convert.ToString(CustomIO.GetXmlElement(cElement, "Title")); model.Item.SKU = Convert.ToString(CustomIO.GetXmlElement(cElement, "SKU")); model.Item.ConditionID = Convert.ToString(CustomIO.GetXmlElement(cElement, "ConditionID")); model.Item.ConditionDisplayName = Convert.ToString(CustomIO.GetXmlElement(cElement, "ConditionDisplayName")); } model.QuantityPurchased = Convert.ToInt32(CustomIO.GetXmlElement(item2, "QuantityPurchased")); cElement = item2.Element("Status"); if (cElement != null) { model.Status.PaymentHoldStatus = Convert.ToString(CustomIO.GetXmlElement(cElement, "PaymentHoldStatus")); } model.TransactionID = Convert.ToString(CustomIO.GetXmlElement(item2, "TransactionID")); if (item2.Element("TransactionPrice") != null) { model.TransactionPrice.currencyID = CustomIO.GetXmlAttribute(item2.Element("TransactionPrice"), "currencyID"); model.TransactionPrice.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item2, "TransactionPrice")); } model.TransactionSiteID = Convert.ToString(CustomIO.GetXmlElement(item2, "TransactionSiteID")); model.Platform = Convert.ToString(CustomIO.GetXmlElement(item2, "Platform")); cElement = item2.Element("Variation"); if (cElement != null) { model.Variation.SKU = Convert.ToString(CustomIO.GetXmlElement(cElement, "SKU")); XElement Element3 = cElement.Element("VariationSpecifics"); if (Element3 != null) { foreach (XElement item3 in Element3.Elements("NameValueList")) { Ebay_Transaction_VariationSpecifics model2 = new Ebay_Transaction_VariationSpecifics(); model2.Name = Convert.ToString(CustomIO.GetXmlElement(item3, "Name")); model2.Value = Convert.ToString(CustomIO.GetXmlElement(item3, "Value")); model.VariationSpecifics.Add(model2); } } model.Variation.VariationTitle = Convert.ToString(CustomIO.GetXmlElement(cElement, "VariationTitle")); model.Variation.VariationViewItemURL = Convert.ToString(CustomIO.GetXmlElement(cElement, "VariationViewItemURL")); } cElement = item2.Element("Taxes"); if (cElement != null) { if (cElement.Element("TotalTaxAmount") != null) { model.Taxes.TotalTaxAmount.currencyID = CustomIO.GetXmlAttribute(cElement.Element("TotalTaxAmount"), "currencyID"); model.Taxes.TotalTaxAmount.Price = Convert.ToDecimal(CustomIO.GetXmlElement(cElement, "TotalTaxAmount")); } foreach (XElement item3 in cElement.Elements("TaxDetails")) { Ebay_Transaction_TaxDetails model2 = new Ebay_Transaction_TaxDetails(); model2.Imposition = Convert.ToString(CustomIO.GetXmlElement(item3, "Imposition")); model2.TaxDescription = Convert.ToString(CustomIO.GetXmlElement(item3, "TaxDescription")); if (item3.Element("TaxAmount") != null) { model2.TaxAmount.currencyID = CustomIO.GetXmlAttribute(item3.Element("TaxAmount"), "currencyID"); model2.TaxAmount.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item3, "TaxAmount")); } if (item3.Element("TaxOnSubtotalAmount") != null) { model2.TaxOnSubtotalAmount.currencyID = CustomIO.GetXmlAttribute(item3.Element("TaxOnSubtotalAmount"), "currencyID"); model2.TaxOnSubtotalAmount.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item3, "TaxOnSubtotalAmount")); } if (item3.Element("TaxOnShippingAmount") != null) { model2.TaxOnShippingAmount.currencyID = CustomIO.GetXmlAttribute(item3.Element("TaxOnShippingAmount"), "currencyID"); model2.TaxOnShippingAmount.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item3, "TaxOnShippingAmount")); } if (item3.Element("TaxOnHandlingAmount") != null) { model2.TaxOnHandlingAmount.currencyID = CustomIO.GetXmlAttribute(item3.Element("TaxOnHandlingAmount"), "currencyID"); model2.TaxOnHandlingAmount.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item3, "TaxOnHandlingAmount")); } model.Taxes.TaxDetails.Add(model2); } if (item2.Element("ActualShippingCost") != null) { model.ActualShippingCost.currencyID = CustomIO.GetXmlAttribute(item2.Element("ActualShippingCost"), "currencyID"); model.ActualShippingCost.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item2, "ActualShippingCost")); } if (item2.Element("ActualHandlingCost") != null) { model.ActualHandlingCost.currencyID = CustomIO.GetXmlAttribute(item2.Element("ActualHandlingCost"), "currencyID"); model.ActualHandlingCost.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item2, "ActualHandlingCost")); } model.OrderLineItemID = CustomIO.GetXmlElement(item2, "OrderLineItemID"); Model.TransactionArray.Add(model); } } } Model.BuyerUserID = CustomIO.GetXmlElement(item, "BuyerUserID"); Model.SetPaidTime(CustomIO.GetXmlElement(item, "PaidTime")); Model.SetShippedTime(CustomIO.GetXmlElement(item, "ShippedTime")); Model.IntegratedMerchantCreditCardEnabled = Convert.ToBoolean(CustomIO.GetXmlElement(item, "IntegratedMerchantCreditCardEnabled")); Model.EIASToken = CustomIO.GetXmlElement(item, "EIASToken"); Model.PaymentHoldStatus = CustomIO.GetXmlElement(item, "PaymentHoldStatus"); return Model; } #endregion #region 订单分析 List ConvertOrderForTM(XElement item) { XElement cElement = null; List elist = new List(); Ebay_Order Model = new Ebay_Order(); Model.OrderStatus = CustomIO.GetXmlElement(item, "OrderStatus"); if (item.Element("AdjustmentAmount") != null) { Model.AdjustmentAmount.currencyID = CustomIO.GetXmlAttribute(item.Element("AdjustmentAmount"), "currencyID"); Model.AdjustmentAmount.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item, "AdjustmentAmount")); } if (item.Element("AmountPaid") != null) { Model.AmountPaid.currencyID = CustomIO.GetXmlAttribute(item.Element("AmountPaid"), "currencyID"); Model.AmountPaid.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item, "AmountPaid")); } if (item.Element("AmountSaved") != null) { Model.AmountSaved.currencyID = CustomIO.GetXmlAttribute(item.Element("AmountSaved"), "currencyID"); Model.AmountSaved.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item, "AmountSaved")); } cElement = item.Element("CheckoutStatus"); if (cElement != null) { Model.CheckoutStatus.eBayPaymentStatus = CustomIO.GetXmlElement(cElement, "eBayPaymentStatus"); Model.CheckoutStatus.SetLastModifiedTime(CustomIO.GetXmlElement(cElement, "LastModifiedTime")); Model.CheckoutStatus.PaymentMethod = CustomIO.GetXmlElement(cElement, "PaymentMethod"); Model.CheckoutStatus.Status = CustomIO.GetXmlElement(cElement, "Status"); Model.CheckoutStatus.IntegratedMerchantCreditCardEnabled = Convert.ToBoolean(CustomIO.GetXmlElement(cElement, "IntegratedMerchantCreditCardEnabled")); } cElement = item.Element("ShippingDetails"); if (cElement != null) { Model.ShippingDetails.SellingManagerSalesRecordNumber = Convert.ToInt64(CustomIO.GetXmlElement(cElement, "SellingManagerSalesRecordNumber")); Model.ShippingDetails.GetItFast = Convert.ToBoolean(CustomIO.GetXmlElement(cElement, "GetItFast")); cElement = cElement.Element("SalesTax"); if (cElement != null) { Model.ShippingDetails.SalesTax.SalesTaxPercent = Convert.ToDecimal(CustomIO.GetXmlElement(cElement, "SalesTaxPercent")); Model.ShippingDetails.SalesTax.SalesTaxState = CustomIO.GetXmlElement(cElement, "SalesTaxState"); Model.ShippingDetails.SalesTax.ShippingIncludedInTax = Convert.ToBoolean(CustomIO.GetXmlElement(cElement, "ShippingIncludedInTax")); if (cElement.Element("SalesTaxAmount") != null) { Model.ShippingDetails.SalesTax.SalesTaxAmount.currencyID = CustomIO.GetXmlAttribute(cElement.Element("SalesTaxAmount"), "currencyID"); Model.ShippingDetails.SalesTax.SalesTaxAmount.Price = Convert.ToDecimal(CustomIO.GetXmlElement(cElement, "SalesTaxAmount")); } } cElement = item.Element("ShippingDetails").Element("ShippingServiceOptions"); if (cElement != null) { Model.ShippingDetails.ShippingServiceOptions.ShippingService = Convert.ToString(CustomIO.GetXmlElement(cElement, "ShippingService")); if (cElement.Element("ShippingServiceCost") != null) { Model.ShippingDetails.ShippingServiceOptions.ShippingServiceCost.currencyID = CustomIO.GetXmlAttribute(cElement.Element("ShippingServiceCost"), "currencyID"); Model.ShippingDetails.ShippingServiceOptions.ShippingServiceCost.Price = Convert.ToDecimal(CustomIO.GetXmlElement(cElement, "ShippingServiceCost")); } Model.ShippingDetails.ShippingServiceOptions.ShippingServicePriority = Convert.ToInt32(CustomIO.GetXmlElement(cElement, "ShippingServicePriority")); Model.ShippingDetails.ShippingServiceOptions.ExpeditedService = Convert.ToBoolean(CustomIO.GetXmlElement(cElement, "ExpeditedService")); Model.ShippingDetails.ShippingServiceOptions.ShippingTimeMin = Convert.ToInt32(CustomIO.GetXmlElement(cElement, "ShippingTimeMin")); Model.ShippingDetails.ShippingServiceOptions.ShippingTimeMax = Convert.ToInt32(CustomIO.GetXmlElement(cElement, "ShippingTimeMax")); } } Model.CreatingUserRole = Convert.ToString(CustomIO.GetXmlElement(item, "CreatingUserRole")); Model.SetCreatedTime(CustomIO.GetXmlElement(item, "CreatedTime")); Model.PaymentMethods = Convert.ToString(CustomIO.GetXmlElement(item, "PaymentMethods")); Model.SellerEmail = Convert.ToString(CustomIO.GetXmlElement(item, "SellerEmail")); cElement = item.Element("ShippingAddress"); if (cElement != null) { Model.ShippingAddress.Name = Convert.ToString(CustomIO.GetXmlElement(cElement, "Name")); Model.ShippingAddress.Street1 = Convert.ToString(CustomIO.GetXmlElement(cElement, "Street1")); Model.ShippingAddress.Street2 = Convert.ToString(CustomIO.GetXmlElement(cElement, "Street2")); Model.ShippingAddress.CityName = Convert.ToString(CustomIO.GetXmlElement(cElement, "CityName")); Model.ShippingAddress.StateOrProvince = Convert.ToString(CustomIO.GetXmlElement(cElement, "StateOrProvince")); Model.ShippingAddress.Country = Convert.ToString(CustomIO.GetXmlElement(cElement, "Country")); Model.ShippingAddress.CountryName = Convert.ToString(CustomIO.GetXmlElement(cElement, "CountryName")); Model.ShippingAddress.Phone = Convert.ToString(CustomIO.GetXmlElement(cElement, "Phone")); Model.ShippingAddress.PostalCode = Convert.ToString(CustomIO.GetXmlElement(cElement, "PostalCode")); Model.ShippingAddress.AddressID = Convert.ToString(CustomIO.GetXmlElement(cElement, "AddressID")); Model.ShippingAddress.AddressOwner = Convert.ToString(CustomIO.GetXmlElement(cElement, "AddressOwner")); Model.ShippingAddress.ExternalAddressID = Convert.ToString(CustomIO.GetXmlElement(cElement, "ExternalAddressID")); } cElement = item.Element("ShippingServiceSelected"); if (cElement != null) { Model.ShippingServiceSelected.ShippingService = Convert.ToString(CustomIO.GetXmlElement(cElement, "ShippingService")); if (cElement.Element("ShippingServiceCost") != null) { Model.ShippingServiceSelected.ShippingServiceCost.currencyID = CustomIO.GetXmlAttribute(cElement.Element("ShippingServiceCost"), "currencyID"); Model.ShippingServiceSelected.ShippingServiceCost.Price = Convert.ToDecimal(CustomIO.GetXmlElement(cElement, "ShippingServiceCost")); } } if (item.Element("Subtotal") != null) { Model.Subtotal.currencyID = CustomIO.GetXmlAttribute(item.Element("Subtotal"), "currencyID"); Model.Subtotal.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item, "Subtotal")); } if (item.Element("Total") != null) { Model.Total.currencyID = CustomIO.GetXmlAttribute(item.Element("Total"), "currencyID"); Model.Total.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item, "Total")); } Model.CreatingUserRole = Convert.ToString(CustomIO.GetXmlElement(item, "CreatingUserRole")); Model.CreatingUserRole = Convert.ToString(CustomIO.GetXmlElement(item, "CreatingUserRole")); Model.BuyerUserID = CustomIO.GetXmlElement(item, "BuyerUserID"); Model.SetPaidTime(CustomIO.GetXmlElement(item, "PaidTime")); Model.SetShippedTime(CustomIO.GetXmlElement(item, "ShippedTime")); Model.IntegratedMerchantCreditCardEnabled = Convert.ToBoolean(CustomIO.GetXmlElement(item, "IntegratedMerchantCreditCardEnabled")); Model.EIASToken = CustomIO.GetXmlElement(item, "EIASToken"); Model.PaymentHoldStatus = CustomIO.GetXmlElement(item, "PaymentHoldStatus"); XElement Element2 = item.Element("TransactionArray"); if (Element2 != null) { foreach (XElement item2 in Element2.Elements("Transaction")) { Ebay_Transaction model = new Ebay_Transaction(); cElement = item2.Element("Buyer"); model.Buyer.Email = Convert.ToString(CustomIO.GetXmlElement(cElement, "Email")); model.Buyer.UserFirstName = Convert.ToString(CustomIO.GetXmlElement(cElement, "UserFirstName")); model.Buyer.UserLastName = Convert.ToString(CustomIO.GetXmlElement(cElement, "UserLastName")); cElement = item2.Element("ShippingDetails"); if (cElement != null) { Model.OrderID = "632" + CustomIO.GetXmlElement(cElement, "SellingManagerSalesRecordNumber"); model.ShippingDetails.SellingManagerSalesRecordNumber = Convert.ToInt32(CustomIO.GetXmlElement(cElement, "SellingManagerSalesRecordNumber")); cElement = cElement.Element("ShipmentTrackingDetails"); if (cElement != null) { model.ShippingDetails.ShipmentTrackingDetails.ShippingCarrierUsed = Convert.ToString(CustomIO.GetXmlElement(cElement, "ShippingCarrierUsed")); model.ShippingDetails.ShipmentTrackingDetails.ShipmentTrackingNumber = Convert.ToString(CustomIO.GetXmlElement(cElement, "ShipmentTrackingNumber")); } } model.SetCreatedDate(CustomIO.GetXmlElement(item2, "CreatedDate")); cElement = item2.Element("Item"); if (cElement != null) { model.Item.ItemID = Convert.ToString(CustomIO.GetXmlElement(cElement, "ItemID")); model.Item.Site = Convert.ToString(CustomIO.GetXmlElement(cElement, "Site")); model.Item.Title = Convert.ToString(CustomIO.GetXmlElement(cElement, "Title")); model.Item.SKU = Convert.ToString(CustomIO.GetXmlElement(cElement, "SKU")); model.Item.ConditionID = Convert.ToString(CustomIO.GetXmlElement(cElement, "ConditionID")); model.Item.ConditionDisplayName = Convert.ToString(CustomIO.GetXmlElement(cElement, "ConditionDisplayName")); } model.QuantityPurchased = Convert.ToInt32(CustomIO.GetXmlElement(item2, "QuantityPurchased")); cElement = item2.Element("Status"); if (cElement != null) { model.Status.PaymentHoldStatus = Convert.ToString(CustomIO.GetXmlElement(cElement, "PaymentHoldStatus")); } model.TransactionID = Convert.ToString(CustomIO.GetXmlElement(item2, "TransactionID")); if (item2.Element("TransactionPrice") != null) { model.TransactionPrice.currencyID = CustomIO.GetXmlAttribute(item2.Element("TransactionPrice"), "currencyID"); model.TransactionPrice.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item2, "TransactionPrice")); } model.TransactionSiteID = Convert.ToString(CustomIO.GetXmlElement(item2, "TransactionSiteID")); model.Platform = Convert.ToString(CustomIO.GetXmlElement(item2, "Platform")); cElement = item2.Element("Variation"); if (cElement != null) { model.Variation.SKU = Convert.ToString(CustomIO.GetXmlElement(cElement, "SKU")); XElement Element3 = cElement.Element("VariationSpecifics"); if (Element3 != null) { foreach (XElement item3 in Element3.Elements("NameValueList")) { Ebay_Transaction_VariationSpecifics model2 = new Ebay_Transaction_VariationSpecifics(); model2.Name = Convert.ToString(CustomIO.GetXmlElement(item3, "Name")); model2.Value = Convert.ToString(CustomIO.GetXmlElement(item3, "Value")); model.VariationSpecifics.Add(model2); } } model.Variation.VariationTitle = Convert.ToString(CustomIO.GetXmlElement(cElement, "VariationTitle")); model.Variation.VariationViewItemURL = Convert.ToString(CustomIO.GetXmlElement(cElement, "VariationViewItemURL")); } cElement = item2.Element("Taxes"); if (cElement != null) { if (cElement.Element("TotalTaxAmount") != null) { model.Taxes.TotalTaxAmount.currencyID = CustomIO.GetXmlAttribute(cElement.Element("TotalTaxAmount"), "currencyID"); model.Taxes.TotalTaxAmount.Price = Convert.ToDecimal(CustomIO.GetXmlElement(cElement, "TotalTaxAmount")); } foreach (XElement item3 in cElement.Elements("TaxDetails")) { Ebay_Transaction_TaxDetails model2 = new Ebay_Transaction_TaxDetails(); model2.Imposition = Convert.ToString(CustomIO.GetXmlElement(item3, "Imposition")); model2.TaxDescription = Convert.ToString(CustomIO.GetXmlElement(item3, "TaxDescription")); if (item3.Element("TaxAmount") != null) { model2.TaxAmount.currencyID = CustomIO.GetXmlAttribute(item3.Element("TaxAmount"), "currencyID"); model2.TaxAmount.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item3, "TaxAmount")); } if (item3.Element("TaxOnSubtotalAmount") != null) { model2.TaxOnSubtotalAmount.currencyID = CustomIO.GetXmlAttribute(item3.Element("TaxOnSubtotalAmount"), "currencyID"); model2.TaxOnSubtotalAmount.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item3, "TaxOnSubtotalAmount")); } if (item3.Element("TaxOnShippingAmount") != null) { model2.TaxOnShippingAmount.currencyID = CustomIO.GetXmlAttribute(item3.Element("TaxOnShippingAmount"), "currencyID"); model2.TaxOnShippingAmount.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item3, "TaxOnShippingAmount")); } if (item3.Element("TaxOnHandlingAmount") != null) { model2.TaxOnHandlingAmount.currencyID = CustomIO.GetXmlAttribute(item3.Element("TaxOnHandlingAmount"), "currencyID"); model2.TaxOnHandlingAmount.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item3, "TaxOnHandlingAmount")); } model.Taxes.TaxDetails.Add(model2); } if (item2.Element("ActualShippingCost") != null) { model.ActualShippingCost.currencyID = CustomIO.GetXmlAttribute(item2.Element("ActualShippingCost"), "currencyID"); model.ActualShippingCost.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item2, "ActualShippingCost")); } if (item2.Element("ActualHandlingCost") != null) { model.ActualHandlingCost.currencyID = CustomIO.GetXmlAttribute(item2.Element("ActualHandlingCost"), "currencyID"); model.ActualHandlingCost.Price = Convert.ToDecimal(CustomIO.GetXmlElement(item2, "ActualHandlingCost")); } model.OrderLineItemID = CustomIO.GetXmlElement(item2, "OrderLineItemID"); } Model.TransactionArray.Add(model); elist.Add(Model); } } return elist; } #endregion #region 订单数据上传 public string senderorder(Eub_Order model, JC_PostAddress2 Addr, string Token, string groupname) { string[] orderstr = model.OrderCode.Split('-'); StringBuilder sb = new StringBuilder(); sb.Append(""); sb.Append("" + DeveKey + ""); //eBay 开发者 ID sb.Append("" + Token + ""); //eBay token sb.Append("" + groupname + ""); //卖家 eBay 账户 sb.Append("" + Appkey + ""); // sb.Append("" + CertKey + ""); //sb.Append(""); sb.Append("4.0.0"); //APAC Shipping Platform API 版本, sb.Append("CNPOST"); // sb.Append("EPACK"); sb.Append(""); sb.Append("0"); //揽收方式 sb.Append(""); //揽收地址信息。 国际 e 邮宝的订单必须使用中文地址。 sb.Append("" + Addr.SendName + ""); //联系人 sb.Append("" + Addr.CompanyName + ""); // sb.Append("" + Addr.Address + ""); sb.Append("" + Addr.county + ""); sb.Append("" + Addr.city + ""); sb.Append("" + Addr.province + ""); sb.Append("" + Addr.PostCode + ""); sb.Append("CN"); sb.Append("" + Addr.Email + ""); sb.Append("" + Addr.Phone + ""); sb.Append("" + Addr.Phone + ""); sb.Append(""); sb.Append(""); //寄件人地址信息,必须以英文填写。 sb.Append("" + Addr.SendEnglishName + ""); sb.Append("" + Addr.CompanyEnglishName + ""); sb.Append("" + Addr.EnglishAddress + ""); sb.Append("" + Addr.countycode + ""); sb.Append("" + Addr.citycode + ""); sb.Append("" + Addr.provincecode + ""); sb.Append("" + Addr.PostCode + ""); sb.Append("CN"); sb.Append("" + Addr.Email + ""); sb.Append("" + Addr.Phone + ""); sb.Append("" + Addr.Phone + ""); sb.Append(""); sb.Append(""); //收件人地址信息。 sb.Append("" + model.receiver.name + ""); sb.Append("" + model.receiver.name + ""); sb.Append("" + model.receiver.street + ""); sb.Append("" + model.receiver.county + ""); sb.Append("" + model.receiver.city + ""); sb.Append("" + model.receiver.province + ""); sb.Append("" + model.receiver.postcode + ""); sb.Append("" + model.receiver.country + ""); sb.Append("" + model.receiver.email + ""); sb.Append("" + model.receiver.mobile + ""); sb.Append("" + model.receiver.phone + ""); sb.Append(""); sb.Append(""); //退货地址信息,对国际 e 邮宝,请填写中文地址 sb.Append("" + Addr.SendName + ""); //联系人 sb.Append("" + Addr.CompanyName + ""); // sb.Append("" + Addr.Address + ""); sb.Append("" + Addr.county + ""); sb.Append("" + Addr.city + ""); sb.Append("" + Addr.province + ""); sb.Append("" + Addr.PostCode + ""); sb.Append("CN"); sb.Append("" + Addr.Email + ""); sb.Append("" + Addr.Phone + ""); sb.Append("" + Addr.Phone + ""); sb.Append(""); //sb.Append(""); //sb.Append(""); //sb.Append(""); //sb.Append(""); //sb.Append(""); //sb.Append(""); //sb.Append(""); //sb.Append(""); //sb.Append(""); sb.Append(""); sb.Append(""); sb.Append("" + orderstr[0] + ""); //eBay 物品号 sb.Append(""); //eBay 交易号,拍卖的物品请输入 0 sb.Append("" + model.BuyID + ""); //eBay 买家 ID //sb.Append(""); //sb.Append(""); //sb.Append(""); sb.Append("" + model.ListGoods.Sum(o => o.count) + ""); //寄货数量,不能为 0 //sb.Append(""); //sb.Append(""); //sb.Append(""); //sb.Append(""); foreach (var q in model.ListGoods) { sb.Append(""); sb.Append("" + q.unit + ""); //物品申报价值 sb.Append("" + q.weight + ""); sb.Append("" + q.cnname + ""); //国际 e 邮宝包裹请填中文报关名 sb.Append("" + q.enname + ""); //英文报关名称 sb.Append("CN"); sb.Append(""); } sb.Append(""); sb.Append(""); sb.Append(""); string PostXmlTemplate = sb.ToString(); ASCIIEncoding encoding = new ASCIIEncoding(); byte[] data = encoding.GetBytes(PostXmlTemplate); string ErrorMessage = ""; string XmlContent = CustomIO.HttpRequest2("https://api.apacshipping.ebay.com.hk/aspapi/v4/ApacShippingService", "POST", "", null, HttpVersion.Version10, data, out ErrorMessage); if (XmlContent == "") return null; XmlContent = XmlContent.Replace(" xmlns=\"urn:ebay:apis:eBLBaseComponents\"", ""); return ""; } #endregion #region 读取订单 public List GetOrders(DateTime? StartDate, DateTime? StopDate, string Token, out string ErrorMessage) { StringBuilder sb = new StringBuilder(); sb.Append(""); sb.Append(""); sb.Append(""); sb.Append("" + Token + ""); sb.Append(""); sb.Append("Seller"); sb.Append("" + StartDate.Value.ToString("yyyy-MM-dd") + ""); if (StopDate != null) sb.Append("" + StopDate.Value.ToString("yyyy-MM-dd HH:mm:ss") + ""); sb.Append(""); sb.Append("100"); sb.Append("@Page@"); sb.Append(""); sb.Append(""); string PostXmlTemplate = sb.ToString(); List ListHeader = new List(); ListHeader.Add("X-EBAY-API-COMPATIBILITY-LEVEL:" + Level); ListHeader.Add("X-EBAY-API-DEV-NAME:" + DeveKey); ListHeader.Add("X-EBAY-API-APP-NAME:" + Appkey); ListHeader.Add("X-EBAY-API-CERT-NAME:" + CertKey); ListHeader.Add("X-EBAY-API-SITEID:0"); ListHeader.Add("X-EBAY-API-CALL-NAME:GetOrders"); string postmessage = PostXmlTemplate.Replace("@Page@", "1"); ASCIIEncoding encoding = new ASCIIEncoding(); byte[] data = encoding.GetBytes(postmessage); string XmlContent = CustomIO.HttpRequest2("https://api.ebay.com/ws/api.dll", "POST", "", ListHeader, HttpVersion.Version10, data, out ErrorMessage); if (XmlContent == "") return null; XmlContent = XmlContent.Replace(" xmlns=\"urn:ebay:apis:eBLBaseComponents\"", ""); List ListModel = new List(); XElement doc = XElement.Parse(XmlContent); XElement doc_Order = doc.Element("OrderArray"); if (doc_Order == null) return null; foreach (XElement item in doc_Order.Elements("Order")) { if (CustomIO.GetXmlElement(item, "PaidTime") == "") continue; Ebay_Order model = ConvertOrder(item); //model.CheckoutStatus.Status = ""; if (model.PaidTime == null) continue; OrderModel model2 = model.ToOrderModel(); ListModel.Add(model2); } int PageCount = Convert.ToInt32(CustomIO.GetXmlElement(doc.Element("PaginationResult"), "TotalNumberOfPages")); if (PageCount > 1) { for (int i = 1; i < PageCount; i++) { postmessage = PostXmlTemplate.Replace("@Page@", (i + 1).ToString()); data = encoding.GetBytes(postmessage); XmlContent = CustomIO.HttpRequest2("https://api.ebay.com/ws/api.dll", "POST", "", ListHeader, HttpVersion.Version10, data, out ErrorMessage); if (XmlContent == "") return ListModel; XmlContent = XmlContent.Replace(" xmlns=\"urn:ebay:apis:eBLBaseComponents\"", ""); doc = XElement.Parse(XmlContent); doc_Order = doc.Element("OrderArray"); if (doc_Order != null) { foreach (XElement item in doc_Order.Elements("Order")) { if (CustomIO.GetXmlElement(item, "PaidTime") == "") continue; Ebay_Order model = ConvertOrder(item); OrderModel model2 = model.ToOrderModel(); ListModel.Add(model2); } } } } return ListModel; } public List GetOrdersForTM(DateTime? StartDate, DateTime? StopDate, string Token, out string ErrorMessage) { StringBuilder sb = new StringBuilder(); sb.Append(""); sb.Append(""); sb.Append(""); sb.Append("" + Token + ""); sb.Append(""); sb.Append("Seller"); sb.Append("" + StartDate.Value.ToString("yyyy-MM-dd") + ""); if (StopDate != null) sb.Append("" + StopDate.Value.ToString("yyyy-MM-dd HH:mm:ss") + ""); sb.Append(""); sb.Append("100"); sb.Append("@Page@"); sb.Append(""); sb.Append(""); string PostXmlTemplate = sb.ToString(); List ListHeader = new List(); ListHeader.Add("X-EBAY-API-COMPATIBILITY-LEVEL:" + Level); ListHeader.Add("X-EBAY-API-DEV-NAME:" + DeveKey); ListHeader.Add("X-EBAY-API-APP-NAME:" + Appkey); ListHeader.Add("X-EBAY-API-CERT-NAME:" + CertKey); ListHeader.Add("X-EBAY-API-SITEID:0"); ListHeader.Add("X-EBAY-API-CALL-NAME:GetOrders"); string postmessage = PostXmlTemplate.Replace("@Page@", "1"); ASCIIEncoding encoding = new ASCIIEncoding(); byte[] data = encoding.GetBytes(postmessage); string XmlContent = CustomIO.HttpRequest2("https://api.ebay.com/ws/api.dll", "POST", "", ListHeader, HttpVersion.Version10, data, out ErrorMessage); // ErrorFollow.TraceWrite("GetOrdersForTM", XmlContent, ""); if (XmlContent == "") return null; XmlContent = XmlContent.Replace(" xmlns=\"urn:ebay:apis:eBLBaseComponents\"", ""); List ListModel = new List(); XElement doc = XElement.Parse(XmlContent); XElement doc_Order = doc.Element("OrderArray"); if (doc_Order == null) return null; foreach (XElement item in doc_Order.Elements("Order")) { if (item.Elements("PaidTime").Count() == 0 || item.Element("PaidTime").Value == "") continue; // Ebay_Order model = ConvertOrder(item); //model.CheckoutStatus.Status = ""; //if (model.PaidTime == null) continue; var Olist = AddOrderModel_new(item, ShopNo); if (Olist == null) continue; foreach (var md in Olist) { ListModel.Add(md); } } int PageCount = Convert.ToInt32(CustomIO.GetXmlElement(doc.Element("PaginationResult"), "TotalNumberOfPages")); if (PageCount > 1) { for (int i = 1; i < PageCount; i++) { postmessage = PostXmlTemplate.Replace("@Page@", (i + 1).ToString()); data = encoding.GetBytes(postmessage); XmlContent = CustomIO.HttpRequest2("https://api.ebay.com/ws/api.dll", "POST", "", ListHeader, HttpVersion.Version10, data, out ErrorMessage); if (XmlContent == "") return ListModel; XmlContent = XmlContent.Replace(" xmlns=\"urn:ebay:apis:eBLBaseComponents\"", ""); doc = XElement.Parse(XmlContent); doc_Order = doc.Element("OrderArray"); if (doc_Order != null) { foreach (XElement item in doc_Order.Elements("Order")) { if (item.Elements("PaidTime").Count() == 0 || item.Element("PaidTime").Value == "") continue; var Olist =AddOrderModel_new(item, ShopNo); if (Olist == null) continue; foreach (var md in Olist) { ListModel.Add(md); } } } } } return ListModel; } #endregion #region 转换成统一的订单对象 public static List AddOrderModel_new(XElement item, string ShopNo) { List elist = new List(); Ebay_Order Model = new Ebay_Order(); List ListModel = new List(); XElement Element2 = item.Element("TransactionArray"); if (Element2 != null) { int ONum = Element2.Elements("Transaction").Count(); string HBOrder = ""; foreach (XElement item2 in Element2.Elements("Transaction")) { OrderModel model = new OrderModel(); model.OrderCode = item2.Element("OrderLineItemID").Value;// ShopNo + item2.Element("ShippingDetails").Element("SellingManagerSalesRecordNumber").Value;//订单编号 item2.Element("OrderLineItemID").Value;// //if (model.OrderCode == "124437772929-2416378713002") //{ // string a = ""; //} model.PlatOrderCode = item2.Element("ExtendedOrderID").Value;// item2.Element("OrderLineItemID").Value;//OrderLineItemID item2.Element("ExtendedOrderID").Value;// //if (model.PlatOrderCode == "19-07163-60305-0" || model.PlatOrderCode == "19-07163-60305") //{ // string b = ""; //} if (ListModel != null) { var fmd = ListModel.FindAll(n => n.PlatOrderCode == model.PlatOrderCode); if (fmd != null && fmd.Count>0) { model.PlatOrderCode = model.PlatOrderCode + "-" + fmd.Count; } } if (ONum > 1 && HBOrder == "") { HBOrder = "M" + ShopNo + item.Element("ShippingDetails").Element("SellingManagerSalesRecordNumber").Value; } if (HBOrder != "") model.HBOrderCode = HBOrder; #region 计算每笔订单的运费 Decimal? ActualShippingCost = 0; if (item2.Elements("ActualShippingCost").Count() > 0 && item2.Element("ActualShippingCost").Value != "0.0") ActualShippingCost = Convert.ToDecimal(item2.Element("ActualShippingCost").Value); if (item.Elements("ShippingServiceSelected").Count() > 0) if (item.Element("ShippingServiceSelected").Elements("ShippingServiceCost").Count() > 0) ActualShippingCost = Convert.ToDecimal(item.Element("ShippingServiceSelected").Element("ShippingServiceCost").Value) / item.Element("TransactionArray").Elements("Transaction").Count(); #endregion model.TotalPrice = Convert.ToDecimal(item2.Element("TransactionPrice").Value) * Convert.ToDecimal(item2.Element("QuantityPurchased").Value) + ActualShippingCost;//总价格 model.MoneyCode = item.Element("Total").Attribute("currencyID").Value;//币种 if (item.Element("PaidTime") != null) model.OrderDate = Convert.ToDateTime(item.Element("PaidTime").Value.Substring(0, 18).Replace("T", " "));//到账时间 model.BuyerID = item.Element("BuyerUserID").Value;//EB买家ID if (string.IsNullOrEmpty(item.Element("ShippingAddress").Value) == true) continue; model.BuyerName = item.Element("ShippingAddress").Element("Name").Value; model.BuyerCountry = item.Element("ShippingAddress").Element("CountryName").Value; model.BuyerAddr = item.Element("ShippingAddress").Element("Street1").Value; if (string.IsNullOrEmpty(item.Element("ShippingAddress").Element("Street2").Value) == false) model.BuyerAddr += "," + item.Element("ShippingAddress").Element("Street2").Value; model.BuyerPhone = item.Element("ShippingAddress").Element("Phone").Value; model.BuyerMobile = ""; if (item2.Element("Buyer").Element("Email") != null && item2.Element("Buyer").Element("Email").Value != null && item2.Element("Buyer").Element("Email").Value != "") model.BuyerMail = item2.Element("Buyer").Element("Email").Value;//电子邮件 model.BuyerFax = ""; model.BuyerZip = item.Element("ShippingAddress").Element("PostalCode").Value; model.BuyerProvince = item.Element("ShippingAddress").Element("StateOrProvince").Value; model.BuyerCity = item.Element("ShippingAddress").Element("CityName").Value; model.BuyerArea = ""; model.OrderRemark = ""; //memo if (item.Elements("BuyerCheckoutMessage").Count() > 0) model.LeaveWord = item.Element("BuyerCheckoutMessage").Value;//买家留言 else model.LeaveWord = ""; if (item.Element("PaidTime") != null) model.PayDate = Convert.ToDateTime(item.Element("PaidTime").Value.Substring(0, 18).Replace("T", " "));//到账时间 model.OutOrderDate = null; //if (this.TransactionArray != null) model.PostInfo = this.TransactionArray[0].ShippingDetails.ShipmentTrackingDetails.ShippingCarrierUsed; model.ListModel = new List(); OrderDetailModel model2 = new OrderDetailModel(); model2.GoodsNum = Convert.ToInt32(item2.Element("QuantityPurchased").Value); model2.GoodsPrice = null; if (item2.Elements("Variation").Elements("SKU").Count() > 0) { foreach (var e in item2.Element("Variation").Element("VariationSpecifics").Elements("NameValueList")) { model2.TypeDesc += e.Element("Name").Value + ":" + e.Element("Value").Value + ";"; } } model2.MoneyCode = model.MoneyCode; if (item2.Elements("Variation").Elements("VariationTitle").Count() > 0) model2.GoodsName = item2.Element("Variation").Element("VariationTitle").Value; else if (item2.Elements("Item").Elements("Title").Count() > 0) model2.GoodsName = item2.Element("Item").Element("Title").Value; if (item2.Elements("Variation").Elements("SKU").Count() > 0) model2.GoodsSKU = item2.Element("Variation").Element("SKU").Value; else if (item2.Elements("Item").Elements("SKU").Count() > 0) model2.GoodsSKU = item2.Element("Item").Element("SKU").Value; // model2.PostInfo = item2.ShippingDetails.ShipmentTrackingDetails.ShippingCarrierUsed; model.ListModel.Add(model2); ListModel.Add(model); } } return ListModel; } #endregion #region 发货上传跟踪码 public string CompleteSale(string Token, string ItemID, string Post, string TrackCode, DateTime? ShippedTime) { string[] itemlist = ItemID.Split('-'); StringBuilder sb = new StringBuilder(); sb.Append(""); sb.Append(""); sb.Append(""); sb.Append("" + Token + ""); sb.Append(""); sb.Append("High"); // sb.Append(""); //sb.Append("Wonderful buyer, very fast payment.");//对买家评价 //sb.Append("Positive");//对买家评价 //sb.Append("bountifulbuyer");//买家用户 //sb.Append(""); sb.Append("" + itemlist[0] + "");//订单号 // sb.Append("" + ItemID + "");//订单号 sb.Append("true"); sb.Append(""); sb.Append(""); sb.Append("" + TrackCode + ""); sb.Append("" + Post + ""); sb.Append(""); sb.Append("" + ShippedTime.Value.ToString("yyyy-MM-dd HH:mm:ss") + ""); sb.Append(""); sb.Append("true"); sb.Append("" + itemlist[1] + ""); sb.Append(""); string PostXmlTemplate = sb.ToString(); List ListHeader = new List(); ListHeader.Add("X-EBAY-API-COMPATIBILITY-LEVEL:923"); ListHeader.Add("X-EBAY-API-DEV-NAME:" + DeveKey); ListHeader.Add("X-EBAY-API-APP-NAME:" + Appkey); ListHeader.Add("X-EBAY-API-CERT-NAME:" + CertKey); ListHeader.Add("X-EBAY-API-SITEID:0"); ListHeader.Add("X-EBAY-API-CALL-NAME:CompleteSale"); string postmessage = PostXmlTemplate;//.Replace("@Page@", "1"); ASCIIEncoding encoding = new ASCIIEncoding(); byte[] data = encoding.GetBytes(postmessage); string ErrorMessage = ""; string XmlContent = CustomIO.HttpRequest2("https://api.ebay.com/ws/api.dll", "POST", "", ListHeader, HttpVersion.Version10, data, out ErrorMessage); if (XmlContent == "") return "失败"; XmlContent = XmlContent.Replace(" xmlns=\"urn:ebay:apis:eBLBaseComponents\"", ""); XElement doc = XElement.Parse(XmlContent).Element("Ack"); string a = doc.Value; return a; } #endregion #region 转换 List ToListOrderModel(List ListModel) { List ListModel2 = new List(); foreach (var item in ListModel) { OrderModel model = item.ToOrderModel(); ListModel2.Add(model); } return ListModel2; } #endregion } }