1

我正在使用 eBay SOAP SDK 示例。我正在尝试添加订单,但它要求我提供交易 ID。如何获取交易 ID?我输入了数字 1,它说找不到它。我今天刚注册,我的商店是空的。

        private void BtnAddOrder_Click(object sender, System.EventArgs e)
    {
        try
        {
            TxtOrderId.Text = "";

            AddOrderCall apicall = new AddOrderCall(Context);


            OrderType order = new OrderType();
            order.TransactionArray = new TransactionTypeCollection();
            order.ShippingDetails = new ShippingDetailsType();
            order.PaymentMethods = new BuyerPaymentMethodCodeTypeCollection();

            TransactionType tr1 = new TransactionType();
            tr1.Item = new ItemType();
            tr1.Item.ItemID = TxtItemIdOne.Text;
            tr1.TransactionID = TxtTransactionIdOne.Text;
            order.TransactionArray.Add(tr1);

            TransactionType tr2 = new TransactionType();
            tr2.Item = new ItemType();
            tr2.Item.ItemID = TxtItemIdTwo.Text;
            tr2.TransactionID = TxtTransactionIdTwo.Text;
            order.TransactionArray.Add(tr2);

            order.ShippingDetails.PaymentInstructions = TxtPaymentInstructions.Text;
            ShippingServiceOptionsType shpopt = new ShippingServiceOptionsType();
            shpopt.ShippingService = CboShipSvc.SelectedItem.ToString();
            shpopt.ShippingServicePriority = 1;

            order.ShippingDetails.ShippingServiceOptions = new ShippingServiceOptionsTypeCollection();
            shpopt.ShippingServiceCost = new AmountType();
            shpopt.ShippingServiceCost.currencyID = CurrencyUtility.GetDefaultCurrencyCodeType(Context.Site);

            if (TxtShipCost.Text.Length > 0) 
            {
                shpopt.ShippingServiceCost.Value = Convert.ToDouble(TxtShipCost.Text);
            }
            order.ShippingDetails.ShippingServiceOptions.Add(shpopt);

            order.Total = new AmountType();
            order.Total.currencyID = CurrencyUtility.GetDefaultCurrencyCodeType(Context.Site);
            if (TxtTotal.Text.Length > 0)
                order.Total.Value = Convert.ToDouble(TxtTotal.Text);
            order.CreatingUserRole = (TradingRoleCodeType) Enum.Parse(typeof(TradingRoleCodeType), CboRole.SelectedItem.ToString());

            order.PaymentMethods.AddRange(new BuyerPaymentMethodCodeType[] {BuyerPaymentMethodCodeType.PaymentSeeDescription});

            string orderid = apicall.AddOrder(order);


            TxtOrderId.Text = orderid;

        }
        catch(Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

    }
4

1 回答 1

1

此调用用于连接两个订单,以便买方可以一起付款。请参阅此AddOrder 参考。它要求您提供商店中的交易 ID 以加入一个订单。如果它找不到交易 ID,那么您可能输入了一个不存在的交易 ID。在您的情况下,几乎可以肯定是这种情况。(如果我没记错的话,交易 ID 是 9 位字符串)。

我认为您正在寻找的是PlaceOffer Reference。不过,您将需要一些物品。

祝 Ebay API 好运。

于 2013-05-30T23:31:14.157 回答