eBay API AddItem 调用返回"Domestic shipping is required if AutoPay is specified"错误



我是易趣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;——它们似乎都没有任何作用。我在文件中搜索了关于国内运输的任何参考资料,但没有找到任何内容。

有人知道为什么会发生这种事吗?

您的shippingOptions字段缺少ShippingServiceCost,请尝试更改行:

shippingOptions.ShippingServiceAdditionalCost = amount;

shippingOptions.ShippingServiceCost = amount;

或向ShippingServiceCost添加分配。

"如果指定了自动支付,则需要国内运输"似乎意味着运输选项中缺少一些条件字段(即取决于运输类型)。我在尝试添加计算运费所需的所有字段时也遇到了同样的错误——如果没有所有字段,易趣会将其解释为缺少ShippingServiceCost字段的统一运费。

相关内容

  • 没有找到相关文章

最新更新