我是 eBay API 的新手,我正在尝试AddItem
拨打电话。但是,我不断收到错误消息:
如果指定了自动转账,则需要国内运输
我从 SDK 示例代码中逐行复制了代码,它编译并运行得很好,所以我觉得 eBay 端可能发生了某种变化。
这是我的一些代码:
static ItemType BuildItem()
{
ItemType item = new ItemType();
item.AutoPaySpecified = false;
item.Title = "Test Item";
item.Description = "eBay SDK sample test item";
item.ListingType = ListingTypeCodeType.Chinese;
item.Currency = CurrencyCodeType.USD;
item.StartPrice = new AmountType();
item.StartPrice.Value = 20;
item.StartPrice.currencyID = CurrencyCodeType.USD;
item.ListingDuration = "Days_3";
item.Location = "San Jose";
item.Country = CountryCodeType.US;
CategoryType category = new CategoryType();
category.CategoryID = "11104";
item.PrimaryCategory = category;
item.Quantity = 1;
item.ConditionID = 1000;
item.ItemSpecifics = buildItemSpecifics();
item.PaymentMethods = new BuyerPaymentMethodCodeTypeCollection();
item.PaymentMethods.AddRange(
new BuyerPaymentMethodCodeType[] { BuyerPaymentMethodCodeType.PayPal }
);
item.PayPalEmailAddress = "me@ebay.com";
item.DispatchTimeMax = 1;
item.ShippingDetails = BuildShippingDetails();
item.ReturnPolicy = new ReturnPolicyType();
item.ReturnPolicy.ReturnsAcceptedOption = "ReturnsAccepted";
AmountType amount = new AmountType();
amount.Value = 2.8;
amount.currencyID = CurrencyCodeType.USD;
item.StartPrice = amount;
return item;
}
static NameValueListTypeCollection buildItemSpecifics()
{
NameValueListTypeCollection nvCollection = new NameValueListTypeCollection();
NameValueListType nv1 = new NameValueListType();
nv1.Name = "Platform";
StringCollection nv1Col = new StringCollection();
String[] strArr1 = new string[] { "Microsoft Xbox 360" };
nv1Col.AddRange(strArr1);
nv1.Value = nv1Col;
NameValueListType nv2 = new NameValueListType();
nv2.Name = "Genre";
StringCollection nv2Col = new StringCollection();
String[] strArr2 = new string[] { "Simulation" };
nv2Col.AddRange(strArr2);
nv2.Value = nv2Col;
nvCollection.Add(nv1);
nvCollection.Add(nv2);
return nvCollection;
}
static ShippingDetailsType BuildShippingDetails()
{
ShippingDetailsType sd = new ShippingDetailsType();
sd.ApplyShippingDiscount = true;
AmountType amount = new AmountType();
amount.Value = 2.8;
amount.currencyID = CurrencyCodeType.USD;
sd.PaymentInstructions = "eBay .Net SDK test instructions";
// shipping type and shipping service options
sd.ShippingType = ShippingTypeCodeType.Flat;
ShippingServiceOptionsType shippingOptions = new ShippingServiceOptionsType();
shippingOptions.ShippingService = ShippingServiceCodeType.ShippingMethodStandard.ToString();
amount = new AmountType();
amount.Value = 1;
amount.currencyID = CurrencyCodeType.USD;
shippingOptions.ShippingServiceAdditionalCost = amount;
shippingOptions.ShippingServicePriority = 1;
amount = new AmountType();
amount.Value = 1.0;
amount.currencyID = CurrencyCodeType.USD;
shippingOptions.ShippingInsuranceCost = amount;
sd.ShippingServiceOptions = new ShippingServiceOptionsTypeCollection(
new ShippingServiceOptionsType[] { shippingOptions }
);
return sd;
}
我试图设置item.AutoPay = false;
-item.AutoPaySpecified = false;
这些似乎都没有做任何事情。我在文档中搜索了有关国内运输的任何参考,但我没有找到任何东西。
有谁知道为什么会发生这种情况?